DBPIA-NURIMEDIA
|
|
- 민기 오
- 6 years ago
- Views:
Transcription
1 ISSN X(Print) / ISSN (Online) Journal of KIISE, Vol. 44, No. 2, pp , 안드로이드커널모듈취약점탐지를위한자동화된유닛테스트생성기법 (Automated Unit-test Generation for Detecting Vulnerabilities of Android Kernel Modules) 김윤호 김문주 (Yunho Kim) (Moonzoo Kim) 요약본논문에서는안드로이드커널모듈의취약점을탐지하기위한자동유닛테스트생성기법을제안한다. 안드로이드커널모듈의각함수를대상으로테스트드라이버 / 스텁함수를자동생성하고동적기호실행기법을사용하여테스트입력값을자동으로생성한다. 또한안드로이드커널모듈의함수포인터와함수선행조건을고려하지않은테스트생성으로인한거짓경보를줄이기위해정적분석을통한함수포인터매칭기법과 def-use 분석을사용한함수선행조건생성기법을개발하였다. 자동유닛테스트생성기법을안드로이드커널 3.4 버전의세모듈에적용한결과기존에존재하던취약점을모두탐지할수있었으며제안한거짓경보감소기법으로평균 44.9% 의거짓경보를제거할수있었다. 키워드 : 소프트웨어테스팅, 자동유닛테스팅, 동적기호실행, 안드로이드커널모듈테스팅 Abstract In this study, we propose an automated unit test generation technique for detecting vulnerabilities of Android kernel modules. The technique automatically generates unit test drivers/stubs and unit test inputs for each function of Android kernel modules by utilizing dynamic symbolic execution. To reduce false alarms caused by function pointers and missing pre-conditions of automated unit test generation technique, we develop false alarm reduction techniques that match function pointers by utilizing static analysis and generate pre-conditions by utilizing def-use analysis. We showed that the proposed technique could detect all existing vulnerabilities in the three modules of Android kernel 3.4. Also, the false alarm reduction techniques removed 44.9% of false alarms on average. Keywords: software testing, automated unit testing, dynamic symbolic execution, Android kernel module testing 본연구는한국연구재단한-아프리카협력기반조성사업 (NRF-2014K1A3A 논문접수 : 2016년 9월 7일 1A ) 및중견연구자지원사업 (2016R1A2B ), 미래창조과학부및정보통신기술진흥센터의대학ICT연구센터육성지원사업 (IITP-2016-H ) 및정보통신 방송연구개발사업 [ , 초소형 고신뢰 (99.999%) OS와고성능멀티코어 OS를동시실행하는듀얼운영체제원천기술개발 ] 의지원으로수행되었음 (Received 7 September 2016) 논문수정 : 2016년 11월 12일 (Revised 12 November 2016) 심사완료 : 2016년 11월 20일 (Accepted 20 November 2016) 이논문은 2016 한국컴퓨터종합학술대회에서 안드로이드커널모듈취약점 CopyrightC2017 한국정보과학회ː 개인목적이나교육목적인경우, 이저작물 탐지를위한자동화된유닛테스트생성기법 의제목으로발표된논문을확의전체또는일부에대한복사본혹은디지털사본의제작을허가합니다. 이때, 장한것임 학생회원 : KAIST 전산학부 yunho.kim03@gmail.com 종신회원 : KAIST 전산학부교수 (KAIST) 사본은상업적수단으로사용할수없으며첫페이지에본문구와출처를반드시명시해야합니다. 이외의목적으로복제, 배포, 출판, 전송등모든유형의사용행위를하는경우에대하여는사전에허가를얻고비용을지불해야합니다. 정보과학회논문지제44권제2호 ( ) moonzoo@cs.kaist.ac.kr (Corresponding author 임 )
2 172 정보과학회논문지제 44 권제 2 호 ( ) 1. 서론안드로이드시스템은전세계스마트폰시장의 80% 이상을차지하고있으며 [1] 스마트폰이외에도스마트 TV, 시계, 카메라, 자동차등다양한전자기기에탑재되고있다. 이렇게다양한시스템에안드로이드시스템이탑재되어영향력이커짐에따라안드로이드시스템의보안취약점으로인해발생할수있는공격위협역시크게증가하고있다. 따라서안드로이드시스템의보안취약점을탐지하여공격위협을줄이는것이중요하다. 안드로이드커널모듈의취약점은공격자가전체시스템을장악할수있게하기때문에가장위험한취약점이다. 일반어플리케이션에있는보안취약점은공격에성공하더라도안드로이드권한시스템으로인해공격자가할수있는행동이제약적이다. 하지만안드로이드커널모듈의취약점을공격할경우공격자가안드로이드권한시스템에서가장많은권한을갖고있는안드로이드커널을직접조작할수있기때문에아무제약없이기기를조작하거나정보를유출할수있게된다. 본논문에서는안드로이드커널모듈의취약점을효과적으로탐지하기위해유닛테스트를자동으로생성하는기법을제안한다. 안드로이드커널모듈의각함수를대상으로유닛테스트를수행하기위한테스트드라이버 / 스텁함수를자동으로생성하고동적기호실행기법 [2] 을사용하여테스트입력값을자동으로생성한다. 또한, 안드로이드커널모듈함수를테스트할때발생할수있는거짓경보를제거하기위한정적분석기법을개발하여정확도를높였다. 본논문에서제안하는기법이실제효과적인지확인하기위해안드로이드커널 3.4 버전에서발견된 3개안드로이드커널모듈의취약점을대상으로자동유닛테스트를수행하였다. 그결과기존에존재하던취약점을모두탐지하여취약점탐지에효과적임을확인하였다. 또한제안한기법으로 44.9% 의거짓경보를제거하여거짓경보감소기술이효과적임을확인하였다. 논문구성은다음과같다. 2장에서는관련연구를설명한다. 3장에서는동적기호실행기반자동화된유닛테스트기법을설명하고 4장에서는안드로이드커널모듈자동유닛테스팅의거짓경보를줄이기위한기법을설명한다. 5장에서는실험설정및실험결과를보여주고 6장에서는결론및향후연구방향을소개하며논문을맺는다. 2. 관련연구안드로이드커널모듈의취약점을탐지하는관련연구는찾기어려우며대부분리눅스커널모듈을대상으 로테스트및검증을수행하였다. Linux Driver Verification 프로젝트 [3], Avinux 프로젝트 [4], DDVerify 프로젝트 [5] 에서는모델검증도구를사용하여리눅스디바이스드라이버소스코드를정형검증하고리눅스커널모듈의버그를검출하였다. Carburizer[6] 는정적분석기법을활용하여하드웨어장애가발생할수있는지점을탐지하여하드웨어장애로인한드라이버오류를방지하였다. BitBlaze[7] 는가상머신기반의플랫폼으로소스코드없이바이너리상태에서리눅스시스템을분석할수있으며바이너리프로그램의심볼릭분석을통해보안취약점을발견하였다. 본연구는안드로이드커널을직접타겟하고있으며유닛테스트기법을사용하여기존정형검증이나전체시스템을대상으로적용하는기법과달리확장성 (scalability) 이높아다양한종류의커널모듈에대해취약점을탐지할수있는장점이있다. 유닛테스트자동생성기법은크게동적기호실행을사용하여테스트를생성하는기법과랜덤메쏘드순열을생성하여유닛테스트를생성하는기법으로나뉜다. 먼저동적기호실행을사용하는기법은 DART[2], CUTE[8], Pex[9], CONBOL[10], Symbolic JPF[11] 등이있다. DART[2], CUTE[8] 는동적기호실행을사용하여 C 프로그램의 API 함수에대한유닛테스트케이스를자동으로생성하고 Pex[9] 는사용자가작성한 parameterized 유닛테스트드라이버를사용하여.Net 프로그램의유닛테스트케이스를자동생성한다. CONBOL[10] 은 C 프로그램의유닛테스트드라이버 / 스텁및유닛테스트케이스를자동생성하지만특정타입의타겟프로그램에특화되어있다. Symbolic JPF[11] 는시스템테스팅을수행하다가사용자가지정한메쏘드로부터동적기호실행을적용한유닛테스팅을수행하여자동으로테스트케이스를생성한다. 랜덤메쏘드순열을생성하는기법은 Randoop[12], EvoSuite[13], TestFul[14] 등이있다. Randoop은 Java 프로그램의메쏘드순열을임의로생성하면서유닛테스트대상함수의파라메터객체를생성한다. Garg et al.[15] 은 Randoop 기법에동적기호실행기법을결합하여분기커버리지를높이는연구를하였다. Evo- Suite[13] 은임의로생성한메쏘드순열에유전알고리즘 [16] 을적용하여커버리지를높였다. TestFul[14] 도유전알고리즘을적용하여테스트커버리지를높이는방법을사용하였다. 기존유닛테스트자동생성기법은안드로이드커널과같은시스템프로그램보다일반어플리케이션을대상으로개발되었기때문에안드로이드커널모듈에적
3 안드로이드커널모듈취약점탐지를위한자동화된유닛테스트생성기법 173 용할경우취약점탐지능력이낮고거짓경보가다수발생할수있다. 본논문에서는안드로이드커널모듈의취약점을효과적으로찾고거짓경보를줄이는기술을개발하였다. 3. 동적기호실행기반자동화된유닛테스트기법본장에서는동적기호실행기법과동적기호실행기반자동화된유닛테스트기법을설명한다. 3.1 동적기호실행기법동적기호실행기법은기존기호실행기법의한계를극복하기위해동적분석과결합하여테스트케이스를자동으로생성하는기법이다. 먼저주어진테스트대상프로그램의실행과정에서분기문, 대입문의정보를추출하기위한탐지함수를삽입하는 instrumentation 과정을수행한후, 주어진테스트케이스를입력으로테스트대상프로그램을실행한다. 프로그램수행중실행된분기문에서어떤조건을만족하였는지나타내는경로제약조건식을생성하고프로그램실행종료후생성된경로제약조건식을분석하여기존에실행하지않은새로운실행경로를테스트할수있는새로운테스트케이스를생성한다. 이과정을모든프로그램실행경로를테스트하거나사용자가지정한종료조건 ( 실행시간제한등 ) 을만족할때까지반복한다. 그림 1의예제프로그램을사용해동적기호실행기법의실행과정을더자세히살펴보자. 그림 1의 C 프로그램은세정수 x, y, z를입력으로받아가장작은값을돌려주는 min() 함수이다. 초기입력값이 x=3, y=2, z=1로주어졌다면 3번째줄의 if 조건을만족하지않아 7번째줄의 else 문을실행하게되고 7번째줄의 if 조건을만족하지않아 9번째줄의 else 구문을실행하여 z 값을리턴한다. 이때 3, 7번째줄의 if 구문을만족하지않았으므로경로제약조건식 (x<=y) (y<=z) 가생성된다. 새로운실행경로를실행하는테스트케이스를생성하기위해마지막경로조건 (y<=z) 을부정해서새경로조건 (x<=y) (y<=z) 그림 1 동적기호실행예제프로그램 Fig. 1 An example program for dynamic symbolic execution 을생성하고제약조건해결기 (constraint solver) 를사용해서경로조건을만족하는테스트케이스 x=3, y=2, z=2를생성한다. 이과정을동적기호실행이종료될때까지반복하게된다. 3.2 동적기호실행기반자동화된유닛테스트기법동적기호실행기반자동화된유닛테스팅기법 [10] 은유닛테스트에필요한테스트드라이버 / 스텁함수와유닛테스트케이스값을동적기호실행기법을사용해서자동으로생성하는기법이다. 먼저정적분석을사용하여테스트대상함수가사용하는입력값인파라메터변수와전역변수의타입, 이름을파악하고해당파라메터변수와전역변수를심볼릭입력으로생성하고테스트대상함수를호출하는테스트드라이버함수를생성한다. 그후테스트대상함수가호출하는함수들의리턴타입을분석하여해당타입에맞는심볼릭입력값을리턴하는심볼릭스텁함수로대체한다. 마지막으로생성한테스트드라이버 / 스텁, 타겟함수에동적기호실행기법을적용하여자동으로유닛테스트케이스를생성한다. 테스트드라이버생성시테스트대상함수 f() 의파라메터및전역변수의타입에따라심볼릭입력설정방법이달라진다. 표 1은각타입별로심볼릭입력설정방법을나타낸다. Primitive 타입변수의경우해당변수의타입에맞는심볼릭입력값을생성하여할당하고배열의경우각원소타입에맞는심볼릭입력값을생성하여배열의모든원소에각각할당한다. 구조체의경우각각의필드의타입에따라심볼릭입력값을설정한다. 포인터타입의경우먼저해당포인터타입의심볼릭입력값을처음설정하는경우해당포인터가가리키는타입의크기만큼메모리를할당하고가리키는타입에해당하는심볼릭입력을생성하여포인터가가리키는메모리에할당한다. 이미이전에해당포인터타입의심볼릭입력을설정한경우새로심볼릭입력을설정하지않고기존에생성한심볼릭입력값을가리키도록포인터를설정하여무한히많은심볼릭입력값을생성하는것을방지한다. 보안취약점을효과적으로탐지하기위해선취약점을탐지하기위한단언문이필요하다. 유닛테스트수행과정에서취약점을효과적으로탐지하기위해포인터참조구문, 배열참조구문및나누기연산구문을실행하기직전에널포인터참조, 잘못된배열범위참조, 0으로나누기를탐지하기위한단언문을삽입하였다. 4. 안드로이드커널모듈자동유닛테스팅의거짓경보감소기법본장에서는동적기호실행기반자동화된유닛테
4 174 정보과학회논문지제 44 권제 2 호 ( ) Input type Primitive type Array type Struct type Pointer type 표 1 동적기호실행입력설정 Table 1 Symbolic input setting rule Symbolic input setting A unit test driver specifies a symbolic input to an input variable according to the input variable type A unit test driver specifies symbolic inputs to all elements according to the element s type A unit test driver specifies symbolic inputs to all fields of the struct type according to each field s type 1) If a symbolic input of a pointer type T is not yet generated, a unit test driver allocates memory space whose size is equal to sizeof(*t) and specifies a symbolic input according to the pointee type. 2) If a symbolic input of a pointer type T is already generated, the unit test driver assigns the existing symbolic input variable to an input variable. 스트기법을안드로이드커널모듈에적용할때발생할수있는거짓경보감소기법을설명한다. 4.1 정적분석을사용한함수포인터매칭기법안드로이드커널모듈은객체지향기법을 C로구현하기위해서커널모듈의함수를구조체의함수포인터필드로선언하여사용한다. 그림 2는 net/ceph 모듈의함수포인터초기화코드이다 번째줄에서 ceph_ connection_operations 구조체 mon_con_ops를선언하면서각각의함수포인터필드에실제어떤함수가대입되는지정의한다. 그림 2의 1040번째줄에서 get 함수포인터는 ceph_con_get 함수를가리키고있으며 1041번째줄에서 put 함수포인터는 ceph_con_put 함수를가리킨다. ceph_mon_init이라는 ceph 모듈의초기화함수가호출되면 768번째줄에서모듈이사용할함수포인터구조체를대입하는역할을수행하여커널모듈의함수포인터를초기화한다. 테스트드라이버함수가함수포인터를성공적으로초기화하려면안드로이드커널모듈에서함수포인터를어떻게초기화하는지분석하고그에따라테스트드라이버함수에서초기화를수행해야한다. 먼저테스트대상커널모듈소스코드를분석하여함수포인터를포함하고있는구조체변수를정의하는소스코드를찾는다. 그림 2의 1039번째줄에서 ceph_connection_operations 구조체타입의변수 mon_con_ops를정의하고있고해당구조체는함수포인터를포함하고있기때문에 net/ ceph 모듈의소스코드를분석하면그림 2의 1039번째줄의구조체정의를찾게된다. 그후테스트드라이버 에서 ceph_connection_operations 구조체변수를초기화할때 1039번째줄에서정의한 mon_con_ops 변수를대입함으로써테스트드라이버가함수포인터코드를정상적으로초기화할수있게한다. 4.2 Def-use 분석을사용한함수선행조건생성기법유닛테스트드라이버를자동으로생성할때테스트대상함수 f의선행조건을만족시키지않고테스트대상함수를호출함으로써거짓경보가발생할수있다. 그림 3은함수선행조건을만족하지않아발생하는거짓경보예제이다. 유닛테스트드라이버를자동생성하여유닛테스트를수행할경우 net/ceph/osd_client.c의 2123번째줄에서널포인터참조가발생할수있다는경보가발생한다. 테스트대상함수인 get_authorizer() 가 2123번째줄에서 con 포인터를참조하기전에 NULL 체크를수행하지않기때문에 get_authorizer() 의첫번재파라메터로 NULL 포인터를넘긴테스트케이스에서널포인터참조를발생시킨것이다. 하지만실제안드로이드커널모듈실행에서 get_authorizer() 는항상 net/ceph/messenger.c 파일의 get_connect_authorizer() 함수에서만호출되고 get_connect_authorizer() 함수에서 get_authorizer() 함수를호출할때 (net/ceph/messenger.c 의 849라인 ) 항상 NULL이아닌포인터를파라메터로넘겨주기때문에해당경보는거짓경보가된다. 이는테스트드라이버가 get_authorizer() 함수를호출할때 그림 2 안드로이드커널 net/ceph 모듈의함수포인터 Fig. 2 Function pointers of Android kernel net/ceph module 그림 3 함수선행조건을만족하지않아발생하는거짓경보예제 Fig. 3 An example of false alarm caused by missing pre-conditions
5 안드로이드커널모듈취약점탐지를위한자동화된유닛테스트생성기법 175 첫번째파라메터는 NULL이아니다 라는선행조건을만족시키지않은상태에서 get_authorizer() 를호출했기때문에발생하는거짓경보이다. 자동화된유닛테스트의거짓경보를줄이기위해 def-use 분석을활용한함수선행조건생성기법을개발하였다. 자동화된유닛테스트수행시테스트대상함수 f를테스트드라이버가직접호출하는것이아니라 f를호출하는 f 의 caller 함수를호출함으로써 f 의선행조건을생성할수있게하였다. 함수 f를호출할때함수 f 의선행조건을만족하는입력값을생성하거나선행조건만족여부를체크하는것은주로함수 f 를호출하기이전에실행되는 f 의 caller 함수들이기때문에 f 의 caller 함수들을사용해 f 를호출함으로써선행조건을만족한상태에서 f를실행할수있다. 함수 f 의모든 caller 함수를호출할경우각 caller 함수마다유닛테스트를수행해야해서테스트수행시간이길어지고, 선정할상위 caller 함수의단계를제한하지않으면 main 함수와같은프로그램시작함수까지호출하여테스트범위가커지고유닛테스트의효과가떨어진다. 따라서 def-use 분석을사용하여 caller 함수와테스트대상함수 f 의의존도를계산하고의존도가큰 caller 함수만호출하여테스트대상함수 f 의선행조건생성에큰영향을줄수있는함수만선정하였다. 함수 f 가다른함수 g에의존하는정도를나타내는의존도 Df(g) 는함수 g에서정의하고함수 f 에서사용하는변수의 def-use 관계를분석하여계산하였다. 자세한의존도계산방법은다음과같다. f 에서사용하는변수가 primitive 타입인경우 : 함수 g에서정의하고 f 에서사용한 def-use 쌍의수를합산한다. f 에서사용하는변수가포인터자체인경우 : primitive 타입과동일하게함수계산한다. f 에서사용하는변수가포인터참조인경우 : 먼저포인터분석을통해 p와동일한메모리를가리키는포인터 q, r 등을찾고 *q, *r을 def( 혹은 use) 로하는모든 def-use의수를계산하여그합을 def-use의수로계산하였다. 배열의경우각각의배열원소를해당타입에맞는개별변수로간주하였으며구조체의경우구조체의각빌드를개별변수로간주하여계산하였다. 테스트대상함수 f 와의의존도를사용하여실제호출할함수를찾는과정은다음과같다. 먼저유닛테스트드라이버가호출할시작함수를찾는다. 테스트대상함수 f 에서시작하여 f 의 caller 함수중함수 f 와 caller 함수의의존도가평균의존도보다낮은 caller 함수를만날때까지함수호출그래프를탐색한다. 평균 그림 4 서로다른 2개의테스트드라이버에서실제호출될함수그룹 Fig. 4 Two groups of functions whose code is used in two different test drivers/stubs 의존도보다의존도가큰가장상위의 caller 함수 g를시작함수로하고시작함수 g에서출발하여모든호출가능한함수정점을탐색하면서테스트대상함수 f 와의의존도가평균보다높은함수를찾아해당함수를실제호출한다. 그림 4의예제를살펴보자. 각정점은 < 함수명 : 테스트대상함수 f 의의존도 > 이고평균의존도는 5.7이다. 먼저 (a) 의경우함수 f 에서왼쪽 caller 함수 n5로탐색을시작하는경우이다. n5와 n5의 caller n2는평균의존도보다의존도가더크지만 n2의 caller n1은의존도가평균보다작기때문에 n2가시작함수가된다. n2가호출가능한함수중평균보다큰의존도를갖는함수는파란색실선에포함되는함수들이다. (b) 의경우는오른쪽 caller n6으로탐색을시작하는경우이다. n6의 caller n3는평균보다의존도가작기때문에 n6이시작노드가되며 n6이호출가능한함수중평균보다의존도가높은함수가파란실선안에포함된다. (a) 에서는 n2를시작함수로하여 n2, n4, n5, f, n7, n10이실제호출되는함수이며 (b) 에서는 n6를시작함수로하여 n6, f, n7, n9, n10이실제호출되는함수이다. 그외의함수는심볼릭값을리턴하는심볼릭스텁함수로대체된다. 5. 실험설정및결과안드로이드커널드라이버유닛테스트자동생성도구는 Clang/LLVM 3.4[17] 버전을사용하여구현하였다. 동적기호실행은 CREST-BV[18] 를사용하여수행하였다. 본도구를사용하여안드로이드커널 3.4 버전의 3개네트워크모듈 net/ceph(cve [19]), net/core (CVE [20]), net/sctp(cve [21]) 모듈에있는 3개취약점을대상으로테스트를수행하였다.
6 176 정보과학회논문지제 44 권제 2 호 ( ) 그림 5 거짓경보감소기술적용후남은거짓경보비율 Fig. 5 Ratio of residual false alarms after applying false alarm reduction techniques 표 2 타겟취약점및모듈정보 Table 2 Target vulnerabilities and module information Vuln. CVE CVE CVE Module net/ceph net/core net/sctp Type of Vuln. NULL pointer dereference Array out-of-bound access NULL pointer dereference # of source files # of functions # of branches Total LOC CVE 취약점은 net/ceph 네트워크모듈초기화과정에서잘못된초기화로인해함수포인터가 NULL로설정되는 NULL 포인터참조취약점이고 CVE 은배열크기보다더큰값을참조하는취약점이다. CVE 취약점은 net/sctp 모듈에서 SCTP 통신을수행할때발생하는 NULL 포인터참조취약점이다. 표 2는테스트대상취약점과모듈의크기를보여준다. 모든실험은쿼드코어 Core I5-3570K@3.8GHz, 16GB 메모리를갖는서버 50대규모의클러스터에서수행하였으며각서버당 4개의유닛테스트를동시에수행하였다. 동적기호실행탐색기법은 DFS 탐색기법을사용하고각유닛테스트마다 5분의시간제한을설정하였다. 테스팅에서보고된경보가참인지거짓인지는다음과같은기준으로결정하였다. 해당취약점을고치기위해 다음패치에서수정될프로그램구문 (buggy statement) 을실행하고단언문이실패한테스트의경우실제버그를찾은것으로간주하고수정된구문을실행하지않고단언문을발생시킨테스트는거짓경보로간주하였다. CVE 취약점보고를탐지하는단언문이아닌다른단언문실패가탐지된경우아직보고되지않은실제취약점일가능성도있지만본실험에서는거짓경보로간주하였다. 실제취약점인지판단하기위해선각각의단언문실패를전부분석해야하나복잡한안드로이드커널코드에서발생한단언문실패를전부분석하는것은현실적으로어렵고안드로이드커널과같이완성도가높은코드의경우취약점발생가능성이낮기때문에단언문실패가보고되지않은취약점일가능성은낮다. 적용결과약 56.6분의시간이소요되었으며세모듈에서기존에보고된취약점을모두발견할수있었다. 거짓경보제거결과는그림 5와같이평균 44.9% 의거짓경보를제거할수있었다. 그림 5의가로축은테스트대상취약점을나타내며세로축은거짓경보감소기술적용후남은거짓경보비율을나타낸다. 파란색은거짓경보감소기술을적용하지않았을때를나타내며빨간색은함수포인터매칭기술만적용했을때, 녹색은함수포인터적용기술과선행조건생성기술을적용했을때남은거짓경보를나타낸다. 예를들어 CVE 의경우함수포인터매칭기술만적용후 15.0% 의거짓경보가제거되어기존거짓경보대비 85.0% 의거짓경보만보고되었으며선행조건생성기술까지적용하면 46.3% 의거짓경보가제거되어거짓경보감소기술적용전대비 53.7% 의거짓경보만보고되었다. 세모듈평균 44.9% 의거짓경보가제거되고
7 안드로이드커널모듈취약점탐지를위한자동화된유닛테스트생성기법 177 감소기술적용전대비 55.1% 의거짓경보만보고되었다. 거짓경보감소기술적용전에세모듈총합 9024 개의거짓경보가발생했으며기술적용후평균 5014 개의거짓경보가발생하였다. 6. 결론및향후연구 본논문에서는안드로이드커널모듈의취약점을찾기위한자동유닛테스트기법을제안하고커널모듈유닛테스트의거짓경보를제거하기위한기법을제안하였다. 실제안드로이드커널취약점을대상으로적용한결과효과적으로취약점을탐지할수있었으며제안한거짓경보제거기술은 44.9% 의거짓경보를효과적으로제거할수있었다. 향후연구는개발기술을적용하여신규취약점을발견하여효과성을입증하는방향과거짓경보를추가적으로제거하여개발자분석시간을줄이고사용성을높이는방향으로진행하고자한다. 특히안드로이드메인커널모듈이아닌각기기제조사별로탑재되는하드웨어디바이스드라이버모듈의경우안드로이드커널메인모듈보다테스트및검증이부족하여취약점이존재할가능성이상대적으로높아각제조사별디바이스드라이버를대상으로하여추가연구를진행할예정이다. 또한그과정에서발견되는거짓경보를분석하여거짓경보를제거할수있는기술을추가개발할것이다. References [1] IDC Smartphone OS Market Share, 2015 Q2, t-share.jsp [2] P. Godefroid, N. Klarlund, and K. Sen, "DART: Directed Automated Random Testing," Proc. of the 2005 ACM SIGPLAN conference on Programming Language Design and Implementation, pp , Jun [3] I. Zakharov, M. Mandrykin, V. Mutilin, E. Novikov, A. Petrenko, and A. Khoroshilov, "Configurable Toolset for Static Verification of Operating Systems Kernel Modules," Programming and Computer Software, Vol. 41, No. 1, pp , Jan [4] H. Post, C. Sinz, and W. Kuchlin, "Towards Automatic Software Model Checking of Thousands of Linux Modules-A Case Study with Avinux," Vol. 19, No. 2, pp , Jun [5] T. Witkowski, N. Blanc, D. Kroening, and G. Weissenbacher, "Model Checking Concurrent Linux Device Drivers," Proc. of the 22nd IEEE/ACM International Conference on Automated Software Engineering, pp , Nov [6] A. Kadav, M. Renzelmann, and M. Swift, "Tolerating Hardware Device Failures in Software," Proc. of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp , Oct [7] D. Song, D. Brumley, H. Yin, J. Caballero, I. Jager, M. Kang, Z. Liang, J. Newsome, P. Poosankam, and P. Saxena, "BitBlaze: A New Approach to Computer Security via Binary Analysis," Proc. of the 4th International Conference on Information Systems Security, pp. 1-25, Dec [8] K. Sen, D. Marinov, and G. Agha, "CUTE: A Concolic Unit Testing Engine for C," Proc. of the 10th European Software Engineering Conference held jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp , Sep [9] N. Tillmann, and J. De Halleux, "Pex: White Box Test Generation for.net," Proc. of the 2nd International Conference on Tests and Proofs, pp , Apr [10] Y. Kim, Y. Kim, T. Kim, G. Lee, Y. Jang, and M. Kim, "Automated Unit Testing of Large Industrial Embedded Software using Concolic Testing," Proc. of the 28th IEEE/ACM International Conference on Automated Software Engineering, pp , Nov [11] C. S. Pasareanu, P. C. Mehlitz, D. H. Bushnell, K. Gundy-Burlet, M. Lowry, S. Person, and M. Pape, "Combining Unit-level Symbolic Execution and System-level Concrete Execution for Testing NASA Software," Proc. of the 2008 International Symposium on Software Testing and Analysis, pp , Jul [12] C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball, "Feedback-directed Random Test Generation," Proc. of the 2007 International Conference on Software Engineering, pp , May [13] G. Fraser and A. Arcuri, "EvoSuite: Automatic Test Suite Generation for Object-oriented Software," Proc. of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, pp , Sep [14] L. Baresi, P. L. Lanzi, and M. Miraz, "TestFul: An Evolutionary Test Approach for Java," Proc. of the rd International Conference on Software Testing, Verification and Validation, pp , Apr [15] P. Garg, F. Ivancic, G. Balakrishnan, N. Maeda, and A. Gupta, "Feedback-directed Unit Test Generation for C/C++ Using Concolic Execution," Proc. of the 2013 International Conference on Software Engineering, pp , May [16] P. McMinn, "Search-based Software Test Data Generation: A Survey," Software Testing, Verification and Reliability, Vol. 14, No. 2, pp , Jun [17] Clang/LLVM. [18] Y. Kim, M. Kim, and Y. Jang, "CREST-BV: An
8 178 정보과학회논문지제 44 권제 2 호 ( ) improved concolic testing technique supporting bitwise operations for embedded software, Journal of KIISE: Software and Applications, Vol. 40, No. 2, pp , Feb (in Korean) [19] CVE : [20] CVE : [21] CVE : 김윤호 2007년 KAIST 전산학과학사. 2007년~ 2009년 KAIST 전산학과석사. 2009년~ 2017년 KAIST 전산학부박사. 관심분야는자동화된 Concolic 유닛테스팅, 변이테스팅, 자동오류위치추정, 정형검증 김문주 1995 년 KAIST 전산학과학사 년 Univ. of Pennsylvania 박사 2002 년 ~ 2004 년 SECUi.COM 차장 년 ~ 2006 년 POSTECH 연구원 년 ~ 2012 년 KAIST 전산학과조교수 년 ~ 현재 KAIST 전산학부부교수. 관심분야는 Concolic 테스팅, 자동오류위치추정, Concurrency 테스팅, 변이테스팅, 정형검증, 내장형소프트웨어
09권오설_ok.hwp
(JBE Vol. 19, No. 5, September 2014) (Regular Paper) 19 5, 2014 9 (JBE Vol. 19, No. 5, September 2014) http://dx.doi.org/10.5909/jbe.2014.19.5.656 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) a) Reduction
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationexample code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for
2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon
More informationÀ±½Â¿í Ãâ·Â
Representation, Encoding and Intermediate View Interpolation Methods for Multi-view Video Using Layered Depth Images The multi-view video is a collection of multiple videos, capturing the same scene at
More informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More informationHigh Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo
High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a low-resolution Time-Of- Flight (TOF) depth camera and
More information05(533-537) CPLV12-04.hwp
모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationMicrosoft Word - FunctionCall
Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More information커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서
커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 15, No. 2 pp. 1051-1058, 2014 http://dx.doi.org/10.5762/kais.2014.15.2.1051 멤리스터의 전기적 특성 분석을 위한 PSPICE 회로 해석 김부강 1, 박호종 2, 박용수 3, 송한정 1*
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Nov.; 26(11), 985991. http://dx.doi.org/10.5515/kjkiees.2015.26.11.985 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2018 Oct.; 29(10), 799 804. http://dx.doi.org/10.5515/kjkiees.2018.29.10.799 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) Method
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228
(JBE Vol. 1, No. 1, January 016) (Regular Paper) 1 1, 016 1 (JBE Vol. 1, No. 1, January 016) http://dx.doi.org/10.5909/jbe.016.1.1.60 ISSN 87-9137 (Online) ISSN 16-7953 (Print) a), a) An Efficient Method
More information03-서연옥.hwp
농업생명과학연구 49(4) pp.31-37 Journal of Agriculture & Life Science 49(4) pp.31-37 Print ISSN 1598-5504 Online ISSN 2383-8272 http://dx.doi.org/10.14397/jals.2015.49.4.31 국가산림자원조사 자료를 적용한 충남지역 사유림경영율 추정 서연옥
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jan.; 26(1),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Jan.; 26(1), 113118. http://dx.doi.org/10.5515/kjkiees.2015.26.1.113 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) A Retro-Directive
More informationDBPIA-NURIMEDIA
424 정보과학회논문지 : 컴퓨팅의실제및레터제 19 권제 8 호 (2013.8) 사례연구를통한정적프로그램분석기법을사용하는도구의비교 (A Comparative Case Study on Static Program Analysis Tools) 김윤호 박용배 (Yunho Kim) 김문주 (Moonzoo Kim) (Yongbae Park) 요약프로그램신뢰성향상을위해서정적프로그램분석도구가많이사용되고있다.
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2018 Jun.; 29(6), 457463. http://dx.doi.org/10.5515/kjkiees.2018.29.6.457 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Sigma-Delta
More informationFrama-C/JESSIS 사용법 소개
Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Jun.; 27(6), 495 503. http://dx.doi.org/10.5515/kjkiees.2016.27.6.495 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) Design
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More information지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월
지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., 2004 5 2009 12 KOSPI200.,. * 2009. 지능정보연구제 16 권제 1 호 2010 년 3 월 김선웅 안현철 社 1), 28 1, 2009, 4. 1. 지능정보연구제 16 권제 1 호 2010 년 3 월 Support
More information인문사회과학기술융합학회
Vol.5, No.5, October (2015), pp.471-479 http://dx.doi.org/10.14257/ajmahs.2015.10.50 스마트온실을 위한 가상 외부기상측정시스템 개발 한새론 1), 이재수 2), 홍영기 3), 김국환 4), 김성기 5), 김상철 6) Development of Virtual Ambient Weather Measurement
More information10( ) CPLV11-90.hwp
Concolic Testing 도구 KLEE 의다양한탐색방법비교 321 Concolic Testing 도구 KLEE 의다양한탐색방법비교 (Comparison of Search Strategies of KLEE Concolic Testing Tool) 김영주 김문주 (YoungJoo Kim) (Moonzoo Kim) 김윤호 정의준 (Yunho Kim) (Uijune
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More information학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석
,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,
More information04 최진규.hwp
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Aug.; 26(8), 710717. http://dx.doi.org/10.5515/kjkiees.2015.26.8.710 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) RF ESPAR
More informationDBPIA-NURIMEDIA
박건수 *, 서태영 **, 김종욱 *** ". 요약 Abstract The induction melting furnace using electric generator has been introduced since 1920s, and it began to be widely applied to industrial applications due to increasing
More information°í¼®ÁÖ Ãâ·Â
Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of
More informationJournal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on
Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp.157-176 DOI: http://dx.doi.org/10.21024/pnuedi.28.3.201809.157 NCS : * A Study on the NCS Learning Module Problem Analysis and Effective
More informationObservational Determinism for Concurrent Program Security
웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Jul.; 27(7), 625634. http://dx.doi.org/10.5515/kjkiees.2016.27.7.625 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Near-Field
More information歯3일_.PDF
uuhm Daewoo Daily * 0.0% 23.6% 38.2% 50.0% 61.8% 100.0% 980 970 960 950 940 930 920 910 900 890 880 870 860 850 840 830 820 810 800 790 780 770 760 750 740 730 720 710 700 690 680 670 660 650 640 630
More informationDBPIA-NURIMEDIA
The e-business Studies Volume 17, Number 6, December, 30, 2016:275~289 Received: 2016/12/02, Accepted: 2016/12/22 Revised: 2016/12/20, Published: 2016/12/30 [ABSTRACT] SNS is used in various fields. Although
More information07변성우_ok.hwp
2 : (Regular Paper) 19 5, 2014 9 (JBE Vol. 19, No. 5, September 2014) http://dx.doi.org/10.5909/jbe.2014.19.5.631 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) a), a), b) Metadata Management System Implementation
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More information목 차
목 차 1. 제품동향 Production < Demand and Supply of GI > Domestic Sales (Unit:10 3 ton) Inventory Import Export Apr 247.0 161.9 162.4 30.3 57.3 May 255.9 183.1 139.5 28.3 51.1 Jun 236.8 164.5 132.7 21.0 53.7
More informationDBPIA-NURIMEDIA
논문 10-35-03-03 한국통신학회논문지 '10-03 Vol. 35 No. 3 원활한 채널 변경을 지원하는 효율적인 IPTV 채널 관리 알고리즘 준회원 주 현 철*, 정회원 송 황 준* Effective IPTV Channel Control Algorithm Supporting Smooth Channel Zapping HyunChul Joo* Associate
More information<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>
327 Journal of The Korea Institute of Information Security & Cryptology ISSN 1598-3986(Print) VOL.24, NO.2, Apr. 2014 ISSN 2288-2715(Online) http://dx.doi.org/10.13089/jkiisc.2014.24.2.327 개인정보 DB 암호화
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2017 Mar.; 28(3), 163 169. http://dx.doi.org/10.5515/kjkiees.2017.28.3.163 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) PCB
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More information10 이지훈KICS2015-03-068.hwp
논문 15-40-05-10 The Journal of Korean Institute of Communications and Information Sciences '15-05 Vol.40 No.05 http://dx.doi.org/10.7840/kics.2015.40.5.851 가로등 인프라를 활용한 안전한 스마트 방범 시스템 차 정 화, 이 주 용 *, 이
More informationSoftware Requirrment Analysis를 위한 정보 검색 기술의 응용
EPG 정보 검색을 위한 예제 기반 자연어 대화 시스템 김석환 * 이청재 정상근 이근배 포항공과대학교 컴퓨터공학과 지능소프트웨어연구실 {megaup, lcj80, hugman, gblee}@postech.ac.kr An Example-Based Natural Language System for EPG Information Access Seokhwan Kim
More informationVer. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor
Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date 2012-10-25 Team Information Sanghyun Yoon shyoon.dslab@gmail.com Dependable Software Laboratory
More information서현수
Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,
More information2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract
2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract - 31 - 소스코드유사도측정도구의성능에관한비교연구 1. 서론 1) Revulytics, Top 20 Countries for Software Piracy and Licence Misuse (2017), March 21, 2017. www.revulytics.com/blog/top-20-countries-software
More information14.531~539(08-037).fm
G Journal of the Korea Concrete Institute Vol. 20, No. 4, pp. 531~539, August, 2008 š x y w m š gj p { sƒ z 1) * 1) w w Evaluation of Flexural Strength for Normal and High Strength Concrete with Hooked
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationMicrosoft Word - [TP_3][T1]UTP.docx
Unit Testing Plan for Point Of Sale System Test Plan Test Design Specification Test Cases Specification Project Team Team 1 Date 2017-11-03 Team Information 201211337 김재현 201112052 방민석 201312259 백만일 201211383
More information. 서론,, [1]., PLL.,., SiGe, CMOS SiGe CMOS [2],[3].,,. CMOS,.. 동적주파수분할기동작조건분석 3, Miller injection-locked, static. injection-locked static [4]., 1/n 그림
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Feb.; 27(2), 170175. http://dx.doi.org/10.5515/kjkiees.2016.27.2.170 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More information04_이근원_21~27.hwp
1) KIGAS Vol. 16, No. 5, pp 21~27, 2012 (Journal of the Korean Institute of Gas) http://dx.doi.org/10.7842/kigas.2012.16.5.21 실험실의 사례 분석에 관한 연구 이근원 이정석 한국산업안전보건공단 산업안전보건연구원 (2012년 9월 5일 투고, 2012년 10월 19일
More informationJournal of Educational Innovation Research 2017, Vol. 27, No. 3, pp DOI: (NCS) Method of Con
Journal of Educational Innovation Research 2017, Vol. 27, No. 3, pp.181-212 DOI: http://dx.doi.org/10.21024/pnuedi.27.3.201709.181 (NCS) Method of Constructing and Using the Differentiated National Competency
More informationDBPIA-NURIMEDIA
e- 비즈니스연구 (The e-business Studies) Volume 17, Number 1, February, 28, 2016:pp. 293~316 ISSN 1229-9936 (Print), ISSN 2466-1716 (Online) 원고접수일심사 ( 수정 ) 게재확정일 2015. 12. 04 2015. 12. 24 2016. 02. 25 ABSTRACT
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More informationuntitled
PMIS 발전전략 수립사례 A Case Study on the Development Strategy of Project Management Information System 류 원 희 * 이 현 수 ** 김 우 영 *** 유 정 호 **** Yoo, Won-Hee Lee, Hyun-Soo Kim, Wooyoung Yu, Jung-Ho 요 약 건설업무의 효율성
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2016 Dec.; 27(12), 1036 1043. http://dx.doi.org/10.5515/kjkiees.2016.27.12.1036 ISSN 1226-3133 (Print) ISSN 2288-226X (Online)
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 25(3),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2014 Mar.; 25(3), 304310. http://dx.doi.org/10.5515/kjkiees.2014.25.3.304 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis
More information디지털포렌식학회 논문양식
ISSN : 1976-5304 http://www.kdfs.or.kr Virtual Online Game(VOG) 환경에서의 디지털 증거수집 방법 연구 이 흥 복, 정 관 모, 김 선 영 * 대전지방경찰청 Evidence Collection Process According to the Way VOG Configuration Heung-Bok Lee, Kwan-Mo
More informationChapter 4. LISTS
C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or
More information17장 클래스와 메소드
17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는
More information<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>
Journal of the Korea Institute of Information and Communication Engineering 한국정보통신학회논문지(J. Korea Inst. Inf. Commun. Eng.) Vol. 19, No. 2 : 258~264 Feb. 2015 ID3 알고리즘 기반의 귀납적 추론을 활용한 모바일 OS의 성공과 실패에 대한
More information<333820B1E8C8AFBFEB2D5A6967626565B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 1 pp. 306-310, 2012 http://dx.doi.org/10.5762/kais.2012.13.1.306 Zigbee를 이용한 실외 위치추정 시스템 구현 김환용 1*, 임순자 1 1 원광대학교 전자공학과 Implementation
More information04 김영규.hwp
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 214 Nov.; 25(11), 1121 1127. http://dx.doi.org/1.5515/kjkiees.214.25.11.1121 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) Planar
More information6.24-9년 6월
리눅스 환경에서Solid-State Disk 성능 최적화를 위한 디스크 입출력요구 변환 계층 김태웅 류준길 박찬익 Taewoong Kim Junkil Ryu Chanik Park 포항공과대학교 컴퓨터공학과 {ehoto, lancer, cipark}@postech.ac.kr 요약 SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationChapter #01 Subject
Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned
More information3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp
보안공학연구논문지 Journal of Security Engineering Vol.11, No.4 (2014), pp.299-312 http://dx.doi.org/10.14257/jse.2014.08.03 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발 이강찬 1), 이승윤 2), 양희동 3), 박철우 4) Development of Service
More information2 : (JEM) QTBT (Yong-Uk Yoon et al.: A Fast Decision Method of Quadtree plus Binary Tree (QTBT) Depth in JEM) (Special Paper) 22 5, (JBE Vol. 2
(Special Paper) 22 5, 2017 9 (JBE Vol. 22, No. 5, Sepember 2017) https://doi.org/10.5909/jbe.2017.22.5.541 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) (JEM) a), a), a) A Fast Decision Method of Quadtree
More information09오충원(613~623)
A Study of GIS Service of Weather Information* Chung-Weon Oh**,..,., Web 2.0 GIS.,.,, Web 2.0 GIS, Abstract : Due to social and economic value of Weather Information such as urban flooding, demand of Weather
More informationPowerPoint 프레젠테이션
SMV 소개 Konkuk Univ. IT 융합정보보호학과 오예원, 박선영 목차 SMV 소개 CTL NuSMV 설치방법및예시 (lift) 향후계획 SMV SMV(Symbolic Model Verifier) 는유한상태시스템 (finite state system) 이 CTL(Computation Tree Logic) 이라는논리와 BDD(Binary Decision
More informationFigure 1: 현존하는 정적 분석 기술의 한계와 본 연구의 목표. 이러한 허위경보(false alarm)를 가질 수 밖에 없는데, 오탐율(전체 경보중 허위경보의 비율)이 정확도의 척도가 된다. 유용한 정적 분석기는 충분히 낮은 허위경보율을 가져야 한다. 대형 프로그
고성능 정적 프로그램 분석 기법 오학주 고려대학교 컴퓨터학과 서론 1 1.1 소프트웨어 오류 문제 소프트웨어가 모든 산업의 기반 기술이 되면서 소프트웨어의 오류로 인해 발생하는 사회경제적 비 용이 천문학적으로 증가하고 있다. 한 예로 미국의 투자금융회사인 KCG(Knight Capital Group)은 2012년 8월 1일 하루동안 2년치의 매출액에 해당하는
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2018 Feb.; 29(2), 93 98. http://dx.doi.org/10.5515/kjkiees.2018.29.2.93 ISSN 1226-3133 (Print) ISSN 2288-226X (Online) UHF-HF
More informationDBPIA-NURIMEDIA
ISSN 2383-6318(Print) / ISSN 2383-6326(Online) KIISE Transactions on Computing Practices, Vol. 21, No. 2, pp. 132-137, 2015. 2 http://dx.doi.org/10.5626/ktcp.2015.21.2.132 타임드오토마타모델기반테스팅기법분석및사례연구 (Analysis
More informationDBPIA-NURIMEDIA
한국소음진동공학회 2015추계학술대회논문집년 Study of Noise Pattern and Psycho-acoustics Characteristic of Household Refrigerator * * ** ** Kyung-Soo Kong, Dae-Sik Shin, Weui-Bong Jeong, Tae-Hoon Kim and Se-Jin Ahn Key Words
More information1
1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2
More informationPoison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3
Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow
More information<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>
Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 2 pp. 866-871, 2012 http://dx.doi.org/10.5762/kais.2012.13.2.866 증강현실을 이용한 아동교육프로그램 모델제안 권미란 1*, 김정일 2 1 나사렛대학교 아동학과, 2 한세대학교 e-비즈니스학과
More informationTHE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jul.; 27(7),
THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 16 Jul.; 27(7), 64662. http://dx.doi.org/./kjkiees.16.27.7.646 ISSN 1226-3133 (Print)ISSN 2288-226 (Online) 2D Microwave Image
More information09È«¼®¿µ5~152s
Korean Journal of Remote Sensing, Vol.23, No.2, 2007, pp.45~52 Measurement of Backscattering Coefficients of Rice Canopy Using a Ground Polarimetric Scatterometer System Suk-Young Hong*, Jin-Young Hong**,
More informationResearch & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W
Research & Technique Apache Tomcat RCE 취약점 (CVE-2019-0232) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE-2019-0232 취약점은 Windows 시스템의 Apache Tomcat 서버에서 enablecmdlinearguments
More informationPowerPoint 프레젠테이션
Software Verification Junit, Eclipse 및빌드환경 Team : T3 목차 Eclipse JUnit 빌드환경 1 Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging
More informationPowerPoint 프레젠테이션
NuPIC 2013 2013.11.07~11.08 충남예산 FPGA 기반제어기를위한통합 SW 개발환경구축 유준범 Dependable Software Laboratory 건국대학교 2013.11.08 발표내용 연구동기 효과적인 FPGA 기반제어기를위한통합 SW 개발환경 연구진행현황 개발프로세스 FBD Editor FBDtoVerilog 향후연구계획 맺음말 2
More informationJUNIT 실습및발표
JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected
More informationMicrosoft Word - retail_131122.doc
Analyst 유주연 (639-4584) juyeon.yu@meritz.co.kr RA 박지은 (639-451) jeeeun.park@meritz.co.kr 213.11.22 유통업 Overweight 1월 매출동향: 대형마트 -6.4%, 백화점 -2.2% Top Pick 하이마트 (7184) Buy, TP 15,원 현대홈쇼핑 (575) Buy, TP 21,원
More information김기남_ATDC2016_160620_[키노트].key
metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational
More informationchap x: G입력
재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘
More information1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할
15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information