2017.11.04(토)
오늘 사이버 가디언즈 컨퍼런스에 다녀오게 되었습니다.
좋은 발표를 들을 수 있는 기회를 얻게 되어 기쁘고, 경품은 타지 못 했지만 빵빵한 경품들 준비해주셔서 감사의 말씀 드립니다.
오늘 들으면서 더 열심히 해야겠다는 다짐을 다시하게 되었고, BOB에 대한 열정이 더욱 커졌던 것 같습니다.
아래는 컨퍼런스를 들으면서 정리한 내용입니다.
혹시나 문제가 된다면 비공개로 즉시 전환하겠습니다. 댓글 달아주세요.
어서와 악성코드는 처음이지?
-주은지
악성코드 : 악의적 목적을 위해 작성된 실행 가능한 코드의 통칭
구체적인 목표 (산업기밀 유출, 사회 혼란, 시스템 파괴 등)
금전적인 이득 (금융정보 탈취, 게임 계정 탈취, 랜섬웨어 등)
Virus : 변형 복제 가능, 감염 대상 존재, 시스템 및 데이터 자체에 피해, 사용자 작업 방해
Trojan – hores : 자신을 위장, 악의적 의도에 따라 동작, 원격 조정
Worm : 네트워크를 통해 복제, 빠른 시간, 다양한 감염 루트, 악의적 기능은 Trojan – hores와 비슷
Spyware 정보 수집, Adware 광고 Hoax 심리적 위협, Joke 흥미 위주 악성코드
백신사에서는?
연구 : 악성코드 분석에 관한 연구 수행
대응 : 악성코드를 빠른 속도로 분석, 패턴을 제작해 엔진에 반영
분석 : 더 깊은 분석을 진행, 보고서 작성
개발 : 백신 엔진 개발, 제작. 대응, 분석 팀에서 전달받은 패턴을 엔진에 적용
악성코드 분석가
정적 분석 : 파일 헤더, 내부 문자열, 디버깅
동적 분석 : 악성코드를 실제로 감염시켜 어떻게 동작하는 지 확인
기초 분석 – 모니터링 – 상세 분석 – 엔진 업데이트
단점/느낀점 : 끊임 없는 공부, 어려움, 지루한 시기가 찾아옴, 영어 공부의 필요성
장점 : 새로운 악성코드를 발견 시 새로운 기술을 접함, 다양한 악성코드를 접함, 새로운 업부, 빠른 이슈 파악
악성코드 분석가가 되려면..
공룡 책, 자료 구조, 시스템 프로그래밍, 네트워킹
개발을 할 줄 알아야 리버싱도 가능함
나뭇잎 책, 어셈블리
끈기
쉽게 배워보는 디지털 포렌식
-신우성
디지털 포렌식이란?
디지털 기기에 남아 있는 디지털 증거물을 조사하여 사건을 규명하는 일련의 과정
디지털 증거물을 보존, 수집, 확인, 식별, 분석, 기록 재현, 현출하는 것을 과학적인 방법으로 수행하는 과정이다
실전 디지털 포렌식
디지털 사고 분석 : 침해사고를 당한 서버 or 컴퓨터에서 공격자, 공격방법, 취약점 등의 침해사고를 조사
필요 지식 : 웹서버 구조, 웹해킹 기법, 웹로그, 윈도우 포렌식 등
사례 : 중국 사드 보복, 숙박 서비스 개인정보 유출, wannacry 랜섬웨어 유포 등
디지털 증거 분석 : 디지털 기기에서 수집한 디지털 증거를 법적증거능력을 갖게 하는 방법
데이터 복구 : 실수로 USB나 컴퓨터에서 자료를 삭제했을 때 복구하는 방법
FTK Imager를 사용해서 복구, SSD는 불가, 바탕화면도 복구하기 어려움.
디지털 포렌식을 더 재미있게 공부하는 방법
CTF & Challenge – 거의 대부분이 흔적(키 값)을 찾는 문제
Challenge site : For-md.org http://forensicscontest.com 등
윈도우 어플리케이션 버그 헌팅 방법론
-최광준
소프트웨어 취약점과 버그 헌팅
소프트웨어 취약점 : 소프트웨어의 결함.
버그 헌팅 : 소프트웨어의 취약점을 제보해 금전적인 보상, 해커의 명예 획득 등 이득을 노리는 일련의 행위
국내 : KISA S/W 신규 취약점 신고 포상제 krcert
외국 : 각 회사별 버그 헌팅 프로그램 / 제로디움, ZDI (타 회사의 취약점도 받음)
버그 헌팅 대회 : Pwn2Own(가장 유명한 버그 헌팅 대회, 상금도 엄청남, 어려움), Pwnfest(POC에서 열리는 버그 헌팅 대회, 한국형 Pwn2Own, 상금이 큼), CTB(Capture The Bug) (IOT 대상, 상금이 적지만 진입장벽도 낮음)
버그 헌팅을 하는 이유 : 재미, 명예, 용돈 or 생계 (재미와 명예로 하는 게 건강에 좋음)
버그 헌팅을 하면서 명심해야할 것 : 모든 크래시가 익스 가능한 것은 아님, 이미 남이 찾아놨을 수 있기 때문에 취약점 패치를 항상 확인해야 함, 실력 < 끈기, 물론 실력이 좋아야 함, 모든 취약점은 untrust input을 통해 발생, 국내 프로그램에는 절대 취약점이 없을 리가 없다
필요 지식 : 개발 경험, 리버싱 능력, 익스플로잇 기술, 끈기 & 감
소프트웨어 취약점 점검 방법
화이트 박스 테스팅 : 소스코드가 존재할 경우
블랙 박스 테스팅 : 소스코드가 존재하지 않을 경우
손퍼징, 퍼징, 코드 오디팅, 감
손퍼징 : 타겟 인풋의 대한 데이터를 직접 수정해가며 디버깅
장점 : 자신이 직접 데이터를 조작하기 때문에 디버깅하기 편리함
단점 : 파일의 포맷을 완벽하게 알기 힘들기 때문에 다양한 취약점을 찾기 힘듦
퍼징 : 퍼저를 사용하여 자동적으로 파일에 대해 임의적인 조작을 하고 크래시를 발생시킴
장점 : 크래시를 발생시키기까지의 시간이 절약, 다양한 취약점을 찾을 수 있음
단점 : 임의로 많은 데이터를 조작하기 때문에 디버깅하는 데 시간이 오래 걸림
코드 오디팅 : 주로 화이트박스 테스팅에 사용, 보기엔 쉬워보이지만 제일 어려운 방법, 함수와 함수 사이의 연관성을 기억해야함, 트리거 시키는 데 리버싱을 많이 진행하여야 함
타켓 선정 - 퍼저 선정 - 크래시 분석 - 취약점 분석 - 프로그램 플로우 제어 – 익스플로잇
타겟 선정 : 공부 목적 – 연구를 진행하면서 프로그램을 이해하고 취약점을 찾을 수 있는 프로그램으로 선정, 금전적 목적 – 자신이 많이 아는 분야의 프로그램으로 쉽고 빠르게 취약점을 찾을 수 있는 프로그램으로 선정
퍼저 선정 : 화이트 박스 – AFL, 블랙 박스 – BFF(https://www.cert.org/vulnerability-analysis/tools/bff.cfm)
크래시 분석 : 탑-다운 방식, 다운-탑 방식
해야할 것 : 콜스택과 인자 확인(깨져있을 경우 리버싱), Mutateehls 바이트가 어떠한 역할을 하는 지 확인, ASLR을 우회하기 위한 Spray point 확인, 크래시 혹은 취약점이 발생한 모듈의 버전을 알아보고 최신 버전과 비교하여 어떠한 취약점이 있었는지 확인
BFF 크래시 분석 : Msec 파일을 통한 기본적인 크래시 정보 확인, 원본 파일과 크래시 파일을 비교하여 조작된 바이트 확인, 확인된 정보를 기반으로 분석
보안월드를 여행하는 히치하이커를 위한 안내서
-김민지, 이아름
보안 커리어 로드맵
개발 :
학력에 관한 별다른 제한 없음
암호화 및 보안 모듈, 응용 프로그램, 백신 개발
C, C++, C#, JAVA, Python 등
침해사고 대응 :
고졸 전형, 대졸 전형이 존재
민간 침해사고 현장 출동, 사고 원인 분석 및 포렌식
보안 관리 :
학력 다양하지만 일부 회사는 석/박사가 많음
취약점 분석, 보안 감사, 보안성 검토, 침해대응, 모의해킹 등
프로그래밍, 취약점 분석 능력, 서비스에 대한 이해, 영어능력
보안 연구 :
보통은 석사 이상, 특채 형식으로 대졸 및 고졸 선발
기업 제품 테스팅, 솔루션 개발, 보안 교육 등 보안과 관련된 전반적인 연구
개발 및 공격/방어 경험, 영어 능력
보안 컨설팅 :
학사 이상 필수, 석사 이상이 대다수
모의해킹, 취약점 진단, 침해대응, 체크리스트 및 가이드라인 제작
보안 전체의 전반적 지식, 기본 지식 및 법률에 관한 이해
디지털 포렌식 :
학력에 대한 별다른 제한 없음
수사기관의 경우 수사관, 일반 기업은 포렌식 도구 제작
수사기관은 경찰 및 검찰 공채 준비 필요
대학을 간다면 어디로?
컴공 vs 정보보호
언어 수업, 자료구조, 알고리즘, 컴퓨터 구조 등 기초 수업의 내용은 비슷함
고학년으로 올라갈수록, 컴공과의 경우 강의 선택의 폭이 넓고 개발에 치중되어 있음, 정보보호학과의 경우 보안에 포커싱된 강의가 많음
컴공과에서는 보안에 관한 건 잘 배우지 않지만 현업에 갔을 때 어떤 보안을 하더라도 베이스가 있음, 하지만 보안은 따로 더 공부해야 함, 정보보호과에서는 미리 배우지 않고 진학한 사람들이 많아서 학과에서 배우는 것만으로는 부족함, 인공지능, 디지털 프로세싱 등 다양한 과목은 없음
나 홀로 도전하는 DFIR 프로젝트 사례 공유 및 방법론 소개
-김동현
DFIR?
Digital Forensics and Incident Response 사고 대응 및 디지털 포렌식
프로젝트
1. 시작이 반이다
자기의 수준에 맞지 않는 주제 X, 현실적으로 불가능한 주제 X, 자기가 관심 없는 주제 X
카테고리 : 개발, 챌린지, 문서
개발 : 이슈가 무엇인지 파악하자, File 단위 -> Binary 단위 -> Chain 단위 -> Deep 단위, 추출 -> 분석 -> 시각화
챌린지 : 개발, 분석 보고, 연구, CTF
문서 : 논문, 책 혹은 가이드라인, Write Up
2. 내가 무엇을 해야 하는지 파악하자
망각하기 쉬우니 현재의 상황들을 다 기록하면서 한다
가시성이 좋은 것 -> 의욕 상승, 로드맵이 그려 짐.
3. 기본 지식이 없으면?
기본적인 내용, 워게임, 실습, 개발 정도면 충분하다. 다 알기에는 워낙 방대한 양이기 때문
C보다는 Python 추천
4. 길을 잃었다면 주변을 둘러보자
질문하는 방법 : 자기 소개 -> 질문하고자 하는 것 -> 감사 인사
5. 돌다리를 건너면 어떤 세상이 펼쳐질까?
여러가지 좋은 결과가 따른다
6. 프로젝트를 할 때 잡아야 할 멘탈
했던 삽질이 다 의미가 있고, 외부로부터 많은 유혹이 와도 포기하지 말아야 한다
'CTF & Conference 후기, 수상' 카테고리의 다른 글
[교내 대회] 2017 블로그 포트폴리오 공모전 장려상 (0) | 2018.01.16 |
---|---|
[교내 대회] 2017 서버 구축대회 동상 (0) | 2018.01.16 |
[교내 대회] 2017 2학기 프로그래밍 경시대회 장려상 (0) | 2018.01.16 |
[교내 대회] 2017 선린 정보올림피아드 동상 (0) | 2018.01.16 |
[CTF] 제 1회 서울 디지텍 고등학교 청소년 해킹 방어 대회 후기 (7등) (0) | 2017.12.23 |