동계 모각코 최종 회고 동계 모각코는 이걸로 마지막이다. 이번 모각코에서는 글로벌 인재트랙 이수로 인해 미국에서 진행됐다. 다른 장소와 마지막 동계 모각코라고 생각하니 뜻 깊었다. 물론 하계 모각코도 남았지만, 색다른 장소에서 다같이 모각코를 진행하니까 모각코의 의의가 확실히 살아난 것 같다. 이번 모각코는 정보 보안 공부를 하였다. 이전에 배웠던 내용들을 다시 짚어가며 필기하였고, 직접 다시 해보았다. 이렇게 정리할 수 있는 기회가 이제 하계 모각코 하나 남았다는 사실이 아쉬우며 이번에도 유익한 모각코였다.
6회차 목표 : 정보보안 공부 6회차 내용 : Race condition 공격 Race Condition Vulnerability 페이지 2 레이스 컨디션이 무엇인지 살펴보고, 어떤 문제점이 있고, 어떤 취약점이 있는지 어떤 식으로 exploit해서 공격할 수 있는지, 해결책은 무엇인지로 알아보겠다.페이지 3 공유되는 자원에 여러 프로세스 스레드가 접근 시 접근 순서의 제어를 해주지않으면 이상한 결과가 나온다. 권한을 가진 애가 레이스 컨디션을 갖고 있고, 공격자가이를 이용한다면 위험할 수 있다.페이지 4 코드를 보며 레이스 컨디션을 보자. php 함수가 있다. 은행에서 인출하는 코드이다. 인출 전 잔액을 확인한다. 인출하는 양과 잔액을 비교해서 인출한 양만큼 빼서 업데이트 해준다. 여기서 레이스 컨디션..
5회차 목표 : 정보보안 공부 5회차 결과 : Format String Bug 악용 공격버퍼 오버플로우보다 간결하게 사용할 수 있다. FSB: Format String Bug일반적인 테크닉 중에 복잡할 수 있는 스택 기반 공격이 ROP이다. 스택에 데이터 넣고,리턴 가젯 찾아서 엮기. 그런 공격의 경우 버퍼 오버플로우로 쉘코드 집어넣고 그랬지만,스택에 실행 권한이 있을 때만 가능하다. 요즘에는 안 된다. 코드 삽입은 어렵고, 기존에메모리에 올라와 있는 API 코드 등을 이용. 필요할 때 사용. 실제로 많이 사용하는게ROP이다. 결국에는 가젯(코드 조각)을 찾아서 원하는 대로 레지스터 세팅해서 로직을 짜면 된다. 굉장히 복잡한 구현이다. 보통은 부분부분해서 함수 실행을 위해 체이닝 걸어서쓰는 것이다. 이런..
4회차 목표 : 정보보안 공부 4회차 결과 : Code Reuse AttackCode Reuse Attack쉘코드를 직접 삽입해서 공격하기 어려운 경우에 이걸 사용할 수 있다! 페이지2 malicious code는 악성 코드로 악성 행위를 실시한다. 다만, normal code라고 해서 이게 항상 malicious하지 않게 수행하는 건 아니다.페이지 3 정상적인 normal code를 악용해서 비정상적인 악성행위를 할 수 있고, 그걸 가능하게 하는 방법이 code reuse attack이 있다.페이지 4 해당 방식의 정의. 말리셔스 코드 없이 정상 코드를 이용해서 공격을 실시한다.정상적인 코드를 묶어서 하는 공격이기 때문에, 프로그램 크기가 클수록 공격자가 활용할 수 있는 코드 청크들이 많다. 공격을 ..
3회차 목표 : 정보보안 공부버퍼 오버플로우로 쉘코드를 이용해 공격하는 법 배우기.3회차 결과 :버퍼 오버플로우로 함수 주소를 변경하여 컨트롤 플로우를 변경하였다. 공격자가 만든코드를 실행하는 것으로 가정해서 메모리에 동적으로 코드를 올리고 실행할 수 있도록하던 내용이다.쉘 코드라고 해서 작성을 할 때, 머신 코드 레벨로 추출하는 과정이 있다. 소스코드를 컴파일해서 컴파일된 상태로 머신 코드를 추출해서 취약한 프로그램에 삽입하는 내용. 삽입되는 코드가 쉘 코드이다.페이지 2 이미 보았던 그림. 점프나 리턴, 콜로 끊어지는 단위. 다른 블록으로 점프하는코드. 순차적으로 실행되는 흐름을 원하는 곳으로 뛰게 하는 것이 지난 시간. 지난 시간의 예제는 호출이 되지 않는 주소를 줘서 한 것이고,페이지 3 이번에는..
일정과 장소일정은 미국 서부 기준 날짜로 2025년 1월 7일 화요일 ~ 1월 8일에장소는 미국 네바다 주 라스 베이거스 라스 베이거스에는 1월 4일부터 1월 9일까지 방문했었다. 샌디에고에서 라스베이거스. 라스베이거스에서 샌디에고까지 캐리어 들고 다니니 점점 캐리어의 내구도가 박살난다.. 방문 같이 간 친구가 AR/XR 분야에 관심이 있어서, 나도 인사이트 좀 얻을 겸 해서 갔었다. 그 후 AI 쪽을 보면서 어떤 문제를 어떤 방식으로 해결했는지 보고, 나머지 빅테크 기업들을 방문했다. (추가로 모교와 카이스트, 서울대 등의 부스도 가보았다. 신기하다 한국 부스) 위 맵은 수 많은 구역 중에 AR/XR 섹션 부분의 지도가 나와있는 지도이고, 엄청 넓고 크다. 정말 발 아프고, 무릎 아프고, 허리 아..
2회차 목표 : 정보 보안 공부메모리 관련 버퍼 오버플로우 공격을 배웠다.2회차 결과 :3.Software Attacks - 메모리 관련.스택 메모리에 있는 버퍼를 오버플로우 해서 객체들(리턴 변수 등등)을 오염시키기. 예시가 리턴 변수를 깨서, 공격자가 지정한 것으로 바꿔버리기. 실행문을 변조시킨다. ControlFlow. 프로그램이 실행되는 것의 흐름을 Control Flow. 어셈블리를 보면 점프, 리턴 등등이 있다 이게 컨트롤 플로우가 움직이는 것으로 다른 블록으로 실행된다. 베이직 블록.악성코드의 경우 저런 흐름을 분석하기 힘들게 만든다. 난독화.가장 기본적인 것.페이지 3. 실습 환경은 버추얼박스로 인텔 32비트. 레지스터 개수 크기, 시스템 설정 레지스터가 64비트와 다를 뿐 원리는 크게 달..
1회차 목표 : 정보보안 공부 1회차 결과 : Set-UID 공부 보안에서 공격과 방어가 있다. 버그를 이용하는 것을 exploit, 보안에서는 부정적인 느낌으로 취약점을 악용하여 공격하는 것.(툴, 상황 등등을 일컫는다.)위험 모델, 시나리오 파악이 중요하다. 이런 것들을 명확하게 하여 그 중 보완의 범위를정의하는 것이 중요하기에 모델 파악이 중요하다. 두 가지 접근1.OS를 이용. 이러면 OS의 사이즈가 커지고, 그에 따라 버그의 가능성도 있기 때문에 좋은 접근은 아니다.2.특별한 권한을 가진 중간 관리자가 수행.Daemons은 중간 관리자. Set-UID는 이 비트가 설정되어 있으면 소유주의 권한으로 프로그램이 돌게 된다.페이지 5 슈퍼맨의 부재 시 파워수트를 이용해서 대신 다른 이가 자신의 역할을..