본문 바로가기

어느 한 분야를 전문적으로 연구함. 또는 그 분야./정보를 여러가지 위협으로부터 보호

ClassLoader 3 : Classloader & JAVA Packages 1. Classloader와 JAVA 패키지 JAVA의 압축 Package들은 Application이 압축된 형태 그대로 사용할 수 있다. 어떤 Application이 사용하느냐에 따라 확장자가 달라진다. - JAR (Java ARchive) - 기본적으로 JAVA Application이 사용할 수 있도록 되어 있다. path 등의 방식을 이용하여 경로를 유지하기 때문에 jar 파일의 사용 및 배포는 경로설정의 문제에서 벗어날 수 있다. Class Loader 관점에서는 EJB 파일을 배치하게 되면, JAR 파일 당 각각의 Class Loader를 생성하게 된다. 그래서, 다른 JAR파일에 있는 Class들은 참조를 할 수가 없고, 오로지 Parent Class Loader인 JVM Level의 CLAS..
ClassLoader 2 : Java Application Server ClassLoader 1. Java Application Server ClassLoader 자바 취약점 분석을 위해서는 Web Application Server의 위계구조까지 확장해서 알아둘 필요성이 있는 것 같다. Web Application Server의 위계구조를 그려보면 다음과 같다. - Bootstrap ClassLoader - (=Primordial ClassLoader, 부트스트랩 클래스로더) 모든 ClassLoad의 부모 ClassLoader이다. JVM이 실행될 때 맨 처음 실행되는 Class Loader로, 이 ClassLoader를 사용해서 JAVA실행에 필요한 기본적인 JDK 클래스들(/jre/lib/jt.jar, i18n.jar와 같은 기본적인 Archieve, -Xbootclasspath)를 로드하게..
구버전 배포하는 사이트 http://www.oldversion.com
ClassLoader 1 : ClassLoader Delegation Model 1. ClassLoader의 기술적 특징 Class Loader란 자바의 장점중 하나로, Runtime시 동적으로 Class를 로딩할 수 있게 해주는 기술이다. 이는 모든 Class는 참조 되는 순간 동적으로 Load 및 Link가 이루어진다는 의미이다. 그래서 Bytecode를 Filesystem, Jar Archieve 또는, network socket(Applet)를 동적으로 로딩 할 수 있도록 지원한다. 이러한 모든 Performance는 Dynamic Linking이라고 한다. 1.1. Hierarchical "계층적 구조(위계 구조 or 위임 구조)"라는 의미이다. Class loader는 계층적 구조를 가지도록 생성이 가능하다. 이는 상위(부모, Parent) 클래스로더에서 자식 클래스로더를..
About Java Exploit Java는 11억 컴퓨터에서 실행이 되고, 매년 JRE(Java Runtime Environment)가 930만건 다운로드가 행해지고 있다. 수 많은 컴퓨터에서 사용되는 Java의 특징 중 한 가지인, "플랫폼에 독립적이다"가 프로그래머나 사용자 입장에서는 장점이지만 보안에 있어서 단점으로 작용된다. 그래서 IE취약점이나 Adobe계열 취약점보다 Java 취약점을 많이 사용하는 이유가 아닐까 추측해 본다. 다음은 공다팩 난독화를 풀면 자주 보이는 취약점들이다. 공다팩은 중국에서 만든 Exploit Toolkit으로 다중 취약점이나 난독화 등을 자동화하여 제작해주는 툴킷이다. CVE-2012-4681CVE-2012-1889CVE-2012-1723CVE-2011-3544 해당 툴킷을 이용해 악성코드를 유포할..
CVE-2012-4969 분석영상 이번에 회사에서 CVE-2012-4969 취약점 분석 문서와 간략한 분석 동영상 그리고 Yara를 이용한 해당 취약점 패턴을 매칭해보았습니다. 다음 영상은 직접 제작한 영상입니다.
YARA-Project YARA는 패턴을 이용하여 악성코드 분류하는데 사용하는 툴이다. 코드는 google에서 관리를 하고, 제작은 virustotal에서 제작하였다. 1. Yara Install 환경 : Linux(BackTrack5 R3) 설치 : sudo apt-get install libpcre3-dev g++ wget http://yara-project.googlecode.com/files/yara-1.6.tar.gz tar xfz yara-1.6.tar.gz cd yara-1.6 ./configure make make check sudo make install 환경 : Windows 다운로드 : https://code.google.com/p/yara-project/downloads/list + 요구하는 python ..
JSDetox JSDetox는 Javascript를 수동으로 분석하는 프로그램이다. 자세한 내용은 다음 사이트에서 참고 http://www.relentless-coding.com/projects/jsdetox 다음 영상들은 JSDetox를 이용하여 분석하는 모습들을 담고 있다. [영상1. JSDetox - Analyzing The Blackhole exploit kit] [영상2. JSDetox - Solving the Breaking Point Javascript Obfuscations Contest] JSDetox의 가장 큰 장점은 가독성이라고 생각을 한다. 말도 안되는 장문의 변수난독화나 분석가들 암산공부 시키기 위해 계산을 해야하도록 설정한 메모리 영역 사이즈 또는 for나 while같은 반복구문의 반복 횟수들..