Copyrightⓒ. 2013. ohta. All Rights Reserved. Binary Diffing 자문:신인호 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 발표자 소개 김동완 Team WANG Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 목차 Binary Diffing은? Binary Diffing의 용도 IDA 덤프 예제 비교 순천향대 해킹 방어대회 문제 풀이 실제 마이너 패치 코드 분석 Q&A Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Binary Diffing은? 이진 파일의 차이 찾는 작업을 의미 2개 이상의 서로 다른 Binary를 비교하여 분석하는 기술을 Binary Diffing이라고 부른다. MOV eax,1 Push 3 Pop ebi Call 00401000 Add esp,4c Nop nop MOV esi,1 Push 6 Pop ebx Call 00401000 Add esp,4c Nop nop 서로 코드를 비교 하는 작업 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Binary Diffing의 용도 Win 32. Virus.A Win 32. Virus.B 변종 휴리스틱 탐지 기법을 이용하여 바이러스로 탐지가능 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 휴리스틱이란? 어떤 집합에 속하는 사상이 그 집합의 특성을 비슷하게 나타낼경우 문제를 해결함이라는 뜻 시그니쳐를 통한 탐색이 아닌 집합의 특성을 이용 (시그니쳐:프로그램만의 패턴) Mov eax,1 Call reg ADD esp,8 Mov esi,1 Call reg1 ADD esp,8 똑같이 탐지 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Binary Diffing의 용도 서로 다른 아키텍처에서 사용된 Binary 를 비교 분석 가능 ARM Intel Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Binary Diffing의 용도 취약한 프로그램 패턴의 유사성 검사 Int main(int argc,char *argv[]) { Char buffer[256]; If(argc<2) Printf(“ argv error \n”); Exit(0); } Strcpy(buffer,argv[1]); Printf(“%s\n”,buffer); Int main(int argc,char *argv[]) { Char asp[15]; If(argc<2) Printf(“argv error\n”); Return 0; } Strcpy(asp,argv[1]); Printf(“%s\n”,asp); 유사성 발견! Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. IDA 덤프 예제 비교 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 순천향대 해킹대회 문제풀이 Type. BINARY (2) [200] Subject [by. hakbaby] twins Content Troublesome twins File: b2 >>> print Count(Solver) 22 Hint #1. 같지만 다른 쌍둥이 : 진실은 언제나 단 하나!!:) #2. 키 값은 단 한 명의 운영진이 가진다. #3. ida_pro : 배열 루틴을 보세요 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 210.124.110.197 파일 다운 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. ? 순천향대 해킹대회 문제풀이 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 실제 마이너 패치 코드 분석 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Patch Tuseday 매주 화요일 마다 정기 보안 업데이트를 제공 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Patch Tuseday diffing MS-110-1342 (위험도 중) 패치 완료 2013년 2월 14일 Kernel.dll 다시 해킹 2013년 2월 19일 Kernel.dll 바이너리 디핑을 이용해 취약점 업데이트 MS-110-1342 취약점 설명 벡터 표시 언어의 취약점으로 인한 원격 코드 실행 문제점(2797052) 이 보안 업데이트는 Microsoft의 VML(벡터 표시 언어) 구현에 대해 비공개적으로 보고된 취약점을 해결합니다. 이 취약점으로 인해 사용자가 Internet Explorer를 사용하여 특수하게 조작된 웹 페이지를 볼 경우 원격 코드 실행이 허용될 수 있습니다. 시스템에 대한 사용자 권한이 적게 구성된 계정의 사용자는 관리자 권한으로 작업하는 사용자에 비해 영향을 적게 받습니다. Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. 다른 바이너리 디핑 툴 Copyrightⓒ. 2013. ohta. All Rights Reserved.
Copyrightⓒ. 2013. ohta. All Rights Reserved. Q&A Copyrightⓒ. 2013. ohta. All Rights Reserved.