[2012 CodeEngn Conference 06] beist - Everyone has his or her own fuzzerGangSeok Lee
2012 CodeEngn Conference 06
퍼징 기술의 입문자, 중급자에 초점을 맞추었고 퍼징 기술에 대한 백그라운드 설명부터 시작하여 최근의 퍼징 기술에는 어떠한 것들이 있는지 살펴보고 퍼징 기술이 버그 찾기에 어떻게 쓰일 수 있는지 부터 시작하여 효율적인 퍼징 테크닉은 어떤것들이 있는지 설명한다. 또한, 각 퍼징 기법들의 한계점과 단점에 대해서 지적하며 왜 자신만의 퍼징 노하우와 방법이 필요한지 설명하면서 퍼징 기술의 복잡성과 다양성, 해커들은 어떤 기법을 선호하는지 소개한다. 발표자가 사용하고 있는 기법이나 노하우에 대해서도 공유 할 예정이다.
http://codeengn.com/conference/06
[2014 CodeEngn Conference 11] 이경식 - 동적 추적 프레임워크를 이용한 OS X 바이너리 분석GangSeok Lee
2014 CodeEngn Conference 11
DTrace를 보안 관점에서 활용해보자!
DTrace 프레임워크는 솔라리스 기반으로 개발된 동적 추적 프레임워크로 현재 Solaris, Mac OS X, BSD 등에 적용되고 있다. 프레임워크는 운영체제 개발 시점에 커널에 통합된 프레임워크로 사용자 및 커널 레벨의 다양한 정보(메모리나 CPU, 파일시스템, 네트워크 자원의 모니터링이나 특정 함수의 인자 추적 등)를 동적으로 분석할 수 있게 하여 애플리케이션 테스팅에 주로 활용되고 있다. 이러한 장점을 활용하여 최근에는 보안 관점에서 프레임워크를 사용하는 경우가 늘어나고 있다. 퍼징 모니터링이나, 바이너리 동적 분석과 같은 취약점 분석, 악성코드 동적 분석, 루트킷 개발이 한 예이다. 본 발표에서는 DTrace가 무엇인지 살펴보고, 윈도우의 filemon의 기능을 구현해보도록 한다. 이 발표를 통해 분석가에게 생소할 수 있는 Mac OS X의 바이너리 분석에 도움이 될 것이라 생각한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
[2012 CodeEngn Conference 06] beist - Everyone has his or her own fuzzerGangSeok Lee
2012 CodeEngn Conference 06
퍼징 기술의 입문자, 중급자에 초점을 맞추었고 퍼징 기술에 대한 백그라운드 설명부터 시작하여 최근의 퍼징 기술에는 어떠한 것들이 있는지 살펴보고 퍼징 기술이 버그 찾기에 어떻게 쓰일 수 있는지 부터 시작하여 효율적인 퍼징 테크닉은 어떤것들이 있는지 설명한다. 또한, 각 퍼징 기법들의 한계점과 단점에 대해서 지적하며 왜 자신만의 퍼징 노하우와 방법이 필요한지 설명하면서 퍼징 기술의 복잡성과 다양성, 해커들은 어떤 기법을 선호하는지 소개한다. 발표자가 사용하고 있는 기법이나 노하우에 대해서도 공유 할 예정이다.
http://codeengn.com/conference/06
[2014 CodeEngn Conference 11] 이경식 - 동적 추적 프레임워크를 이용한 OS X 바이너리 분석GangSeok Lee
2014 CodeEngn Conference 11
DTrace를 보안 관점에서 활용해보자!
DTrace 프레임워크는 솔라리스 기반으로 개발된 동적 추적 프레임워크로 현재 Solaris, Mac OS X, BSD 등에 적용되고 있다. 프레임워크는 운영체제 개발 시점에 커널에 통합된 프레임워크로 사용자 및 커널 레벨의 다양한 정보(메모리나 CPU, 파일시스템, 네트워크 자원의 모니터링이나 특정 함수의 인자 추적 등)를 동적으로 분석할 수 있게 하여 애플리케이션 테스팅에 주로 활용되고 있다. 이러한 장점을 활용하여 최근에는 보안 관점에서 프레임워크를 사용하는 경우가 늘어나고 있다. 퍼징 모니터링이나, 바이너리 동적 분석과 같은 취약점 분석, 악성코드 동적 분석, 루트킷 개발이 한 예이다. 본 발표에서는 DTrace가 무엇인지 살펴보고, 윈도우의 filemon의 기능을 구현해보도록 한다. 이 발표를 통해 분석가에게 생소할 수 있는 Mac OS X의 바이너리 분석에 도움이 될 것이라 생각한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
[2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안GangSeok Lee
2014 CodeEngn Conference 11
가상화와 보안의 합작
가상화 기술은 대상체를 추상화된 리소스로 가상화하여 활용할 수 있는 기술이다. 가상화 기술이 하드웨어 차원에서 지원되기 시작한 이후로 CPU가 제어하는 자원을 하드웨어 레벨에서 가상화 할 수 있게 되었다. CPU가 하드웨어 수준에서 가상화를 지원하기 위해 설계된 구조와 인터페이스가 존재하는 계층이 기존에 운영체제에서 사용하던 Ring 0~3 계층 상위에 추가되면서 이를 보안에서 활용하는 시도들이 있어왔으며 대표적으로 ARM TrustZone 아키텍처가 있다. TrustZone과 같은 아키텍처는 운영체제와는 다르게 오직 보안에 관련된 서비스와 기능만을 탑재한 보안전용운영체제를 먼저 상주시킨다. 운영체제가 특권/사용자 계층을 나누어 사용자 계층에서 하드웨어 자원에 접근하는 것을 막고 대신 요청을 받아 처리함으로서 하드웨어 자원을 보호했던 것과 유사하게 보안/일반 계층으로 나눠 보안이 필요한 동작시에 보안전용운영체제가 요청을 받아 처리하는 구조를 갖고, 일반 계층은 격리되어 보안 계층에 접근할 수 없으므로 보안성을 한층 높힌 구조이다. 본 발표는 가상화 기술에 대한 개괄적 설명과 이를 활용한 PS/2 키로거를 제작 I/O를 가로채는 과정을 살펴보고 운영체제 상위 권한이 어떤 의미를 갖는지 그리고 CPU하드웨어 레벨의 강력한 권한을 체험하는 것을 통해 가상화 기술의 특성을 파악해보자 한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
IoT Security: Problems, Challenges and SolutionsLiwei Ren任力偉
As a novel computing platform in network, IoT will bring many security challenges to enterprise networks, and create new opportunities for security industry. This talk will provide a general overview of enterprise network security problems, especially the data security, caused by IoT. After that, a few existing security technologies are evaluated as necessary elements of a holistic network security that cover IoT devices. These technologies include : (a) IoT security monitoring and control; (b) FOTA for firmware vulnerability management; (c) NetFlow based big data security analysis. In the end, the practice of standard security protocols (such as OpenIoC and IODEF) will be strongly advocated for delivering effective IoT security solutions.
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다GangSeok Lee
2014 CodeEngn Conference 10
열혈 취약점 헌터들의 고분군투기!
취약점을 찾게되면 어떤 일이 벌어질까? 급전이 필요한 외롭고 찌질한 대한민국 해커들의 급전을 위한 취약점 찾기 여행기. 과연 우리는 취약점을 찾고 급전을 만들어 외롭고 찌질한 이 상황을 타개할 수 있을 것인가?
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
[2012 CodeEngn Conference 06] x82 - 모바일 스마트 플랫폼 원격, 로컬 취약점 공격 분석GangSeok Lee
2012 CodeEngn Conference 06
모바일 스마트 플랫폼(스마트폰, 태블릿PC, 스마트TV)에 존재하는 pointer de-reference 취약점과 use-after-free 취약점을 대상으로 시도되는 heap spraying 공격 기법과 자동화된 drive-by download 공격 코드를 소개할 예정이고 최근 2년간 스마트 플랫폼의 커널과 어플리케이션 내에 존재했던 로컬 취약점을 통한 권한 상승 공격 기법에 대해 설명한다.
http://codeengn.com/conference/06
[2014 CodeEngn Conference 11] 박한범 - 가상화 기술과 보안GangSeok Lee
2014 CodeEngn Conference 11
가상화와 보안의 합작
가상화 기술은 대상체를 추상화된 리소스로 가상화하여 활용할 수 있는 기술이다. 가상화 기술이 하드웨어 차원에서 지원되기 시작한 이후로 CPU가 제어하는 자원을 하드웨어 레벨에서 가상화 할 수 있게 되었다. CPU가 하드웨어 수준에서 가상화를 지원하기 위해 설계된 구조와 인터페이스가 존재하는 계층이 기존에 운영체제에서 사용하던 Ring 0~3 계층 상위에 추가되면서 이를 보안에서 활용하는 시도들이 있어왔으며 대표적으로 ARM TrustZone 아키텍처가 있다. TrustZone과 같은 아키텍처는 운영체제와는 다르게 오직 보안에 관련된 서비스와 기능만을 탑재한 보안전용운영체제를 먼저 상주시킨다. 운영체제가 특권/사용자 계층을 나누어 사용자 계층에서 하드웨어 자원에 접근하는 것을 막고 대신 요청을 받아 처리함으로서 하드웨어 자원을 보호했던 것과 유사하게 보안/일반 계층으로 나눠 보안이 필요한 동작시에 보안전용운영체제가 요청을 받아 처리하는 구조를 갖고, 일반 계층은 격리되어 보안 계층에 접근할 수 없으므로 보안성을 한층 높힌 구조이다. 본 발표는 가상화 기술에 대한 개괄적 설명과 이를 활용한 PS/2 키로거를 제작 I/O를 가로채는 과정을 살펴보고 운영체제 상위 권한이 어떤 의미를 갖는지 그리고 CPU하드웨어 레벨의 강력한 권한을 체험하는 것을 통해 가상화 기술의 특성을 파악해보자 한다.
http://codeengn.com/conference/11
http://codeengn.com/conference/archive
IoT Security: Problems, Challenges and SolutionsLiwei Ren任力偉
As a novel computing platform in network, IoT will bring many security challenges to enterprise networks, and create new opportunities for security industry. This talk will provide a general overview of enterprise network security problems, especially the data security, caused by IoT. After that, a few existing security technologies are evaluated as necessary elements of a holistic network security that cover IoT devices. These technologies include : (a) IoT security monitoring and control; (b) FOTA for firmware vulnerability management; (c) NetFlow based big data security analysis. In the end, the practice of standard security protocols (such as OpenIoC and IODEF) will be strongly advocated for delivering effective IoT security solutions.
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다GangSeok Lee
2014 CodeEngn Conference 10
열혈 취약점 헌터들의 고분군투기!
취약점을 찾게되면 어떤 일이 벌어질까? 급전이 필요한 외롭고 찌질한 대한민국 해커들의 급전을 위한 취약점 찾기 여행기. 과연 우리는 취약점을 찾고 급전을 만들어 외롭고 찌질한 이 상황을 타개할 수 있을 것인가?
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
[2012 CodeEngn Conference 06] x82 - 모바일 스마트 플랫폼 원격, 로컬 취약점 공격 분석GangSeok Lee
2012 CodeEngn Conference 06
모바일 스마트 플랫폼(스마트폰, 태블릿PC, 스마트TV)에 존재하는 pointer de-reference 취약점과 use-after-free 취약점을 대상으로 시도되는 heap spraying 공격 기법과 자동화된 drive-by download 공격 코드를 소개할 예정이고 최근 2년간 스마트 플랫폼의 커널과 어플리케이션 내에 존재했던 로컬 취약점을 통한 권한 상승 공격 기법에 대해 설명한다.
http://codeengn.com/conference/06
[2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to WinGangSeok Lee
2011 CodeEngn Conference 05
1989년 국산 부트 바이러스인 LBC 바이러스에 감염되어 하드디스크 부팅이 안되는 문제가 전국에서 발생했다. 이렇게 부팅 문제가 발생할 수 있는 부트 바이러스는 윈도우 95가 본격 보급되기 시작한 1990년 대 중반까지 쉽게 볼 수 있었다. 이후 윈도우 시대가 본격 열리고 플로피 디스크 사용이 줄어들면서 사실상사라진다. 하지만, 최근 기억속에 잊혀진 부트 바이러스가 윈도우 시대에 맞게 변화해 부활의 조짐이 있다. 대표적 디스크입출력 악성코드를 정리해보고 이를 가능하게 한 도스와 윈도우 부팅과정 및 윈도우 프로그램에서 디스크 입출력 방법을 알아보자.
http://codeengn.com/conference/05
19. 공유기 기존 취약점들
3) Dlink 인증 없는 설정
http://192.168.0.1/apply.cgi?
admin_password=pwdpwd&
admin_password1=pwdpwd&
admPass2=pwdpwd&
remote_enable=1&
remote_http_management_enable=1&
remote_http_management_port=8080&
remote_inbound_filter=Allow_All&
remote_http_management_inbound_filter=Allow_All
• 관리자에 대한 인증절차가 없이 모든 인자 값이 정상 처리된다.
20. 공유기 기존 취약점들
4) Linksys stack overflow
• 경계 값 체크 없이 프로그래밍
23. ① 취약점 발견
악의적인 사용자
TARGET과 동일한 공유기
모의 공격 취약점 발견
펌웨어가 취약 할 것이다.
펌웨어 획득 방법
1. 공식 홈페이지에서 최신펌웨어 다운로드
2. MCU의 JTAG 포트를 이용한 DUMP
3. Flash 메모리 분리 후 DUMP
IPTIME 0-Day 취약점
33. ① 취약점 발견 – 버퍼 오버플로우
aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa
BEFORE STRCPY()
AFTER STRCPY()
Buffer
R11 SP PC
IPTIME 0-Day 취약점
Stack Memory
LDMFD SP, {R11 ,
SP , PC}
34. ① 취약점 발견 – 버퍼 오버플로우
Aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa
Buffer R11 SP PC
PC 레지스터 : 다음 실행할 명령어의 위치
프로그램 흐름을 원하는 곳으로 이동시킬 수 있다.
GOOD!!!
IPTIME 0-Day 취약점
35. ① 취약점 발견 – 버퍼 오버플로우
aaaaaaaaaaaaaaaaaaaaaaaaa aaaa aaaa aaaa
Buffer R11 SP PC
utelnetd 구동 , iptables 에서 telnet 허용 쉘코드
쉘코드를 어디에 올릴 것인가?
User-Agent :
CGI 는 환경변수에 HTTP 데이터를 저장한다.
IPTIME 0-Day 취약점
38. ② 모의 공격
• 취약점 발견과 공격코드 구상
• 공유기 시스템 내부 쉘이 있으면 동적 디버깅 가능
• 공격에 필요한 각종 테스트를 해야 함
gdb , strace , busybox 등 크로스 컴파일 해서 업로드
• 공격코드 완성 , 테스트
IPTIME 0-Day 취약점
49. ANYGATE 0-Day 취약점
악의적인 사용자 TARGET
TARGET과 동일한 공유기
공격
잠재적 피해자들
취약점 발견모의 공격
①②
③
④
IPTIME 때와 동일
50. ① 취약점 발견
악의적인 사용자
TARGET과 동일한 공유기
모의 공격 취약점 발견
펌웨어가 취약 할 것이다.
펌웨어 획득 방법
1. 공식 홈페이지에서 최신펌웨어 다운로드
2. MCU의 JTAG 포트를 이용한 DUMP
3. Flash 메모리 분리 후 DUMP
ANYGATE 0-Day 취약점
51. ANYGATE 0-Day 취약점
1) 디버깅용 페이지 존재
• 인증절차 없이 내부 명령 실행 가능
• iptables , ifconfig , ping 만 지원
52. ANYGATE 0-Day 취약점
1) 디버깅용 페이지 존재
• 인증절차 없이 내부 명령 실행 가능
• iptables , ifconfig , ping 만 지원
53. ANYGATE 0-Day 취약점
2) 특정 설정 페이지 내부 명령 실행 가능 취약점
sprintf(&src,
"-S gnudip -u %s:%s -h %s -s %s -r 10&",
dword_3AC8D + 34052,
dword_3AC8D + 34072,
dword_3AC8D + 34092,);
strcat(&szCMD, &src);
sub_14CAC("%sn", &szCMD);
system(&szCMD);
임의의 명령을 삽입하는 것이 가능
62. 공유기 취약점 악용 시나리오
6) 영구 장악
공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화
다시 공격해야 함.
1. 재부팅 리셋
해커가 펌웨어의 Init script 들을 수정하여 telnet , 포트매핑 등을
부팅 시에 자동으로 수행하게끔 펌웨어 리빌드
관리자 페이지에 접근이 가능하므로, 조작된 펌웨어를 수동업데이트
63. 공유기 취약점 악용 시나리오
6) 영구 장악
공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화
다시 공격해야 함.
웹인터페이스의 업데이트 페이지를 수정하여
실제로 업데이트는 일어나지 않도록 조작
2. 펌웨어 업데이트 - 수동업데이트
64. 공유기 취약점 악용 시나리오
6) 영구 장악
2. 펌웨어 업데이트 - 자동업데이트
업데이트 시도
공식사이트 펌웨어 업데이트 서버
해커가 조작한 펌웨어 업데이트 서버
공유기는 재부팅, 리셋, 펌웨어 업데이트 시 초기화
다시 공격해야 함.
66. • 펌웨어 개발 시, 보안 프로그래밍
strcpy , sprintf , system 등과 같은 함수들은 주의해서 사용한다.
또한 설정 상 보안에 문제가 될 수 있는 부분들을 제거한다.
• 사용자의 공유기에 대한 보안 의식 강화
ex> uPnP 서비스 강제 중단
• uPnP 의 외부 연결 차단 , 공유기 자체인 localhost로의 포워딩 차단
1. 대응 방안
2. 향후 연구 계획
• 공유기가 TCP/IP , UDP 등 Low Level 프로토콜을 처리하면서 발생할
수 있는 취약점 연구
• 커스터마이징된 기능들에서 발생하는 취약점
게임기 지원 , VPN , QOS 등..