전체 글

Research Engineer
Information Technology/System Architecture

CPU(Central Processing Units) 기초

컴퓨터는 마이크로프로세서 혹은 중앙 처리 장치라 불리는 CPU(Central Processing Units)에 의해 움직인다. 실제 프로그램을 실행시키는 칩으로 산술 계산, 수치 비교, 데이터 전달 등 다양한 일을 수행한다. 운영체제는 이러한 마이크로프로세서에 의해 움직이는 하나의 프로그램이 된다. 마이크로프로세서를 개발하는 업체는 프로세서들을 발전시키면서 과거와의 호환성을 가장 우선적으로 고려했기 때문에 과거의 마이크로프로세서(8080)의 이해가 최근의 마이크로프로세서(펜티엄 III)의 이해를 크게 도울 수 있다. 특히 80386(흔히 386 컴퓨터)의 경우 운영체제를 구현하는데 있어 획기적인 전환점이 되었기에 주의깊게 살펴보아야 한다.폰 노이만(John Von Neumann)이 제시한 프로그램 내장 ..

Information Technology/Machine Learning

[기계 학습] 기계 학습의 역사 2

1970년대 70년대 "귀납 학습"과 함께 진화 연산 방법에 기초한 기계 학습이 제안되었다. 단윈의 진화론 모델화한 기계 학습 방법으로 "유전(자) 알고리즘", "생물 진화 모델", "진화 연산"이라고 불리기도 한다. 일반적으로 생물의 진화에서는 환경과 상호작용하면서 환경에 더 적합한 형태로 진화되어 가는데 적자 생존으로 환경에 잘 적응한 세대가 살아남고 그렇지 못한 세대는 사라지는 형태에 의거하여 적합도 함수에 의해 높게 평가된 형태가 살아남고, 그렇지 못한 형태는 사라지는 것으로 이해할 수 있다. 유전 알고리즘(Genetic Algorithm)은 자연세계의 진화과정에 기초한 계싼 모델로 존 홀랜드(John Holland)에 의해 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법 ..

Information Technology/Machine Learning

[기계 학습] 기계 학습의 역사 1

1940년대 기계 학습의 연구의 시작은 "인공신경망(Artificial Neural Network)"이라고 할 수 있다. 생물의 신경조직 움직임을 모델로 하여 정보를 처리하는 구조로, 자극에 해당하는 데이터가 다른 신경으로 전달되면서 어떻게 처리하고 학습해야할지 정해지게 된다. 1960년대 프랑크 로젠블라트(Frank Rosenblatt)에 의해 "다층 신경망(Multilayer Neural Network)"이 제안되었고, 이는 "퍼셉트론(Perceptron)"이라 부르게 된다. 퍼셉트론은 비교적 정확히 기술된, 계산에 의한 최초의 신경망 모델이어서 여러 분야에 커다란 영향을 미치게 되었다. 자극을 받는 세포인 "자극층(입력층, 센서층)"은 데이터를 받는 역할을 하고, 자극에 따른 행동을 결정하는 "응답..

Information Technology/Bigdata

[빅데이터] 빅 데이터와 하둡

단순히 방화벽에서 하루동안 발생하는 로그가 1TB라면 어떻게 처리할 것인가? 수많은 인력을 통해 매일 분석할 수도 없는 노릇이다. 이러한 대용량 데이터를 처리하기 위해서는 빅데이터에 의존할 수 밖에 없다. 여기서 설명하는 빅데이터는 하둡이며 분산파일처리 시스템이다. 최근 드라이브의 용량은 상승하였지만 전송 속도는 약 100MB/s 수준에 머물러 있기 때문에 1TB의 디스크의 전체를 읽으려면 2시간 반이라는 계산이된다. 그래서 빅데이터에서 분산 파일 시스템의 경우 여러 디스크로부터 데이터를 읽어 처리 속도를 상승시킨다. 1TB의 크기의 데이터를 1/10 (100GB)만을 사용한 10개의 디스크로 병렬로 구현하여 읽는다면 1000초 즉 16~17분 만에 읽을 수 있게 된다. 이렇게 데이터를 병렬로 읽고 쓰려..

Notice/Main

Let's Security Festival(with APNG, SUA) 2회

1. 드라이브 바이 다운로드 프로세스웹 서버 해킹(웹 크래커)취약점 사용(취약점 연구가)악성 소프트웨어(악성소프트웨어 제작자) 2. 필요조건보안 업데이트 중단웹 서핑공격자의 자원 활용익스플로잇악성 소프트웨어(Malware) 3. 충분조건난독화사용자 정보 수집 코드(Traffic Analytic)호핑 페이지(hopping Page) 4. 대응방안보안 업데이트백신 업데이트웹 서버 관리가 부실한 중소기업 대상으로 웹 서버 진단을 진행할 필요가 있음웹 서버의 변형을 빠르게 탐지하여 의무적으로 조치하도록 규제 강화대응에 미비한 기업을 대상으로 보안관련 법을 강화 시키고, 피해자에 대한 실용적인 대안을 마련해야 함

Information Technology/Machine Learning

[기계 학습] 기계학습이란?

기계학습의 시작은 1950년대 부터 시작되었지만, 그 당시 데이터의 양이 한정되어 있어 학습시킬 데이터가 부족했다. 1959년 아서 사무엘(Arthur Samuel)이 기계 학습을 "컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 싱행하는 능력에 대한 연구 분야"라고 정의하였다. 그는 1952년 체커를 소재로하여 기계 학습을 하여 스스로 강해질 수 있는 프로그램을 만들었다. 여기서 사용한 기계 학습은 파라미터 조정에 기초한 기계학습 방법이다. - 위키피디아 하지만 현재 인터넷의 발전으로 데이터가 폭발적으로 늘어나 다시 기계학습이 화두가 되고 있다. 특히 빅 데이터의 시대가 도래되면서 방대한 데이터에서 어떤 데이터를 어떻게 효과적으로 사용할 것인가를 해결하기 위해 기계학습을 도입하는 사례가..

Information Security/Malware

jjencode 분석

1. 개요 자바스크립트 난독화 중 jjencode라는 생소한 형태의 난독화가 있다. 이 난독화는 일본 연구가 하세가와 요스케(Yosuke HASEGAWA - 블로그)에 의해 만들어 졌고, 처음 공개된 것은 일본에서 열린 2009 JUI(JavaScript User Interface) 세미나이다. 자세한 공개 내용은 블로그에 공개된 발표자료를 통해 볼 수 있으며(다운로드) 생성 도구는 이곳에서 사용할 수 있다. 2. 목적 jjencode의 목적은 자바스크립트 기호로만 사용하여 자바스크립트와 (거의) 동등하게 동작하는 난독화 코드를 만드는 것이다. 3. 난독화 규칙 jjencode의 기본 규칙은 다음과 같다. 기호만 사용알파벳 금지숫자 금지US-ASCII 이외의 문자 금지사용 가능한 문자 !"#$%&'()*..

Information Security/OpenSource

How to install Cuckoo 1.0 with Tor Network #03

4. Configure 운영하는 환경에 따라 다르게 설정해야 하는 부분이다. 4.1. Kind of Cuckoo Configure Files Cuckoo의 설정은 cuckoo/conf 에 위치해 있다. Cuckoo를 운영하기 위한 네 가지의 설정 파일과, 가상머신을 운영하기 위한 네 가지의 설정 파일, 그리고 Volatility를 운영하기 위한 한 가지의 설정파일이 존재한다. Volatility는 운영자의 선택에 따라 운영되고, 기본 운영 설정 파일에서 부수적으로 함께 설정해야한다. 기본 운영 설정 파일 auxiliary.confcuckoo.confprocessing.confreporting.conf 가상 머신 운영 설정 파일 esx.confkvm.confvirtualbox.confvmware.conf ..

hakawati
Hakawati Security Lab