컴파일러 후단부 개발시 중간 코드로부터 목적기계 코드를 생성하기 위해서는 각각의 중간 코드 명령어를 목적기계 코드로 치환하는 방법과 다양한 중간 코드 패턴에 대한 목적기계 코드 생성 규칙을 기술하는 방법으로 구분된다. 특히, 컴파일러 후단부 전체를 재구성하지 않고 중간 코드로부터 목적기계 코드를 생성하는 정형화된 규칙을 이용하면 다양한 목적기계 코드를 효율적으로 생성할 수 있다. 본 논문은 Bytecode로부터 정형화된 코드 생성 규칙을 이용하여 Pentium기계에 대한 코드 생성이 가능하도록 코드 생성 규칙 기술 모델을 제시하며 실질적으로 목적기계 코드 생성시에 참조 가능한 정보를 생성하는 코드-생성기 생성기를 연구한다 본 연구를 통해서 Bytecode로부더 다양한 목적기계 코드를 생성할 수 있는 정형화된 코드 생성 규칙 기술 방법을 얻을 수 있다.
ACK는 가상 스택 기계에 기반을 둔 EM 중간 코드로부터 레지스터 구조에 기반을 둔 SPARC 기계에 대한 목적 코드를 생성하기 위해서는 코드 확장기(code expander)를 이용하고 있다. 따라서 EM 코드로부터 SPARC 목적 코드를 생성하기 위해 스택 지향 구조로부터 레지스터 지향 구조로 변환하여야 한다. 코드 확장기를 이용한 SPARC 코드 생성 기법은 각 EM 명령어에 대해 SPARC 코드로 확장하는 루틴들로 구성되며 코드 생성기에 비해 코드의 질을 개선하기 위해 푸쉬-팝 최적화 동작을 수행한다. 하지만 코드 확장시에 별도의 자원과 관리를 요구하는 혼합 스택(hybrid stack)을 이용하고 있으며 전단부의 정보 손실로 레지스터 윈도우를 이용한 효율적인 매개변수 전달을 고려하지 않는다. 본 논문에서는 ACK의 전체적인 구조의 변경 없이 목적 기계의 스택과 매개변수 전달을 고려하나 효율적인 SPARC 코드를 생성하기 위해 EM 트리를 이용한 SPARC 코드 확장기를 설계하고 구현하였다. 이를 위해, 순차적인 EM 코드를 입력으로 받아 스택 속성을 반영한 트리로 구성하며 혼합 스택을 제거하기 위해 지역 변수 정보를 별도로 관리하였다. EM 트리의 순회 및 확장 과정에서 목적 코드를 생성할 수 있는 루틴을 통하여 목적 코드를 출력하며 추출된 정보와 노드의 성격에 출력 시기와 목적 코드를 결정한다.
플랫폼에 독립적으로 자바 가장 머신(Virtual Machine)에 의해 실행될 수 있도록 설계된 Bytecode는 각 플랫폼에서 인터프리트브 방식으로 수행된다. 그러나 때로는 보다 효율적으로 실행하기 위해서 Bytecode는 목적 코드로의 변환이 요구된다. 매크로 확장 기법은 매크로가 확장되는 정의 루틴을 이용하여 중간 코드에 대해 목적 코드로 빠른 시간내에 코드를 생성할 수 있는 장점을 가진다. 본 논문에서는 Bytecede로부터 Pentium 코드를 생성하기 위해서 매크로 확장 기법을 사용하여 코드 확장기(Code Expander)를 설계하고 구현하였다. 이를 위해 Bytecode에 대한 Pentium코드로 확장하는 규칙을 Budecode 테이블에 기술하였다. 코드 확장기는 Bytecode 추출기로부터 구성된 Bytecode와 Bytecode 테이블을 참조하여 Bytecode에 해당하난 Pentium코드를 생성한다.
2008년으로 컴퓨터 바이러스가 제작된 지 이미 20년이라는 세월을 넘기게 되었다. 이 긴 시간 속에서 컴퓨터 바이러스는 파일 감염을 목적으로 하는 바이러스(virus)로부터 네트워크를 통한 급속한 화산을 시도하는 웜(Worm) 그리고 데이터 유출과 파괴를 목적으로 하는 트로이목마(Trojan Horse)로 발달해왔다. 최근에는 컴퓨터 사용자의 정보를 무단으로 유출하기 위한 스파이웨어(Spyware)에 이르기까지 다양한 형태로 변화를 이룩해 왔다. 이러한 다양한 형태로의 변화가 진행되는 동안에도 컴퓨터 과학의 발달에 따른 새로운 기술들을 흡수하여 더욱더 정교하고 파괴적인 기능들로 발전을 이루게 되었다. 다양한 형태와 기술적 인 발전을 거듭한 악성 코드(Malicious Code)는 컴퓨터 운영 체제, 네트워크의 발달로 이룩된 컴퓨터 과학사와 함께 하였다고 볼 수 있다. 악성 코드의 발전은 해가 갈수록 수치적인 면에서는 증가 추세를 이루고 있으며 기술적인 면에서도 더욱더 위험성을 더해 가고 있으며 그 제작 목적 또한 전통적인 기술력 과시에서 금전적인 이익을 취하기 위한 도구로 전락하고 있다. 이렇게 제작 목적의 변질로 인해 악성 코드는 인터넷 공간에서 사이버 범죄를 발생시키는 원인 중 하나로 변모하게 되었다. 본 논문에서는 이러한 발전적인 형태를 띠고 있는 악성 코드에 대해서 최근 동향을 바탕으로 어떠한 악성코드와 스파이웨어의 형태가 발견되고 있는지 그리고 최근 발견되고 있는 악성코드에서 사용되는 소프트웨어 취약점들을 살펴보고자 한다. 그리고 이러한 악성코드의 형태에 따라 향후 발생할 수 있는 새로운 악성 코드의 위협 형태도 다루어 보고자 한다.
ARM 프로세서는 다양한 임베디드 시스템에서 활용되고 있다. 또한 대부분의 ARM 프로세서는 C 프로그램을 입력으로 받아 GNU gcc 크로스 컴파일 방식을 사용하여 ARM 어셈블리 코드를 생성한다. 또한 생성된 목적코드의 질을 개선하고 효율적인 목적코드 생성하기 위한 다양한 연구가 진행되고 있다. 본 논문에서는 표준 C 프로그램으로부터 ARM 프로세서에 대한 목적코드를 문법-지시적 변환 기법을 이용하여 생성하며 성능평가 결과를 GNU gcc 크로스 컴파일 방식과 비교하여 제시한다. 본 연구에서 제시한 기법은 생성규칙을 확장하는 방법이 GNU gcc 크로스 컴파일러에 비해 간편하고 편리하다.
이기종간의 실행 환경에 적합하도록 설계된 자바 바이트코드는 각 플랫폼에서 인터프리터 방식으로 수행되므로 효율성에서 단점을 가지고 있다. 따라서 바이트코드의 효율적인 실행을 위해 목적 코드로의 변환 과정이 요구된다. 목적 코드로 변환 과정에서 자바의 실행 환경 또한 목적 기계의 실행 환경으로 이전이 이루어져야 한다. 본 논문에서는 자바 실행 환경을 SPARC 실행 환경으로 이전하는 방법을 제시한다. 먼저, 자바 가상 기계의 구성 요소를 분석한 후 이에 대응하는 SPARC 실행 환경에 필요한 각각의 구성 요소들을 제시하고, SPARC 실행 환경에 맞는 모델을 구축한다. 마지막으로, 자바에서 제공하는 표준 클래스 라이브러리에 대해서는 SPARC 라이브러리 형태로 변환하여 제공하게 된다.
악성코드 개체 수의 급격한 증가와 정형화되지 않은 악성코드 분류 기준 때문에 업체별, 연구기관별 악성코드 분류 방식이 서로 상이하다. 이 때문에 악성코드를 분석하는 분석가들은 모호한 악성코드 분류 방식 때문에 업무에 불필요한 시간이 소요되고 있다. 또한 안티 바이러스 제품을 사용하는 최종 사용자로 하여금 혼란을 유발하고, 악성코드에 대응하기 위해 진행되는 연구에서 악성코드에 대한 정확한 분류 지표가 없어, 연구에 혼선을 빚고 있다. 본 논문에서는 악성코드의 정확한 분류와 새로운 악성코드가 발견되고, 새로운 매체가 출현하여도 이에 유기적으로 대응할 수 있도록 악성코드의 목적행위에 따라서 총 7개 그룹으로 나누었다. 제안 분류 방식을 사용할 경우 분류된 악성코드에 대하여 보다 정확한 정보를 얻을 수 있을 것으로 기대한다.
본 논문에서는 VLIW 목적코드에 존재하는 NOP 명령어 슬롯에 의미있는 명령어를 중복 삽입하도록 함으로써 원래의 방법에서 존재하였던 자료의존관계를 해소하여 실행시간의 지연을 방지하는 기법을 연구하였다. 이 경우에 하나의 긴 명령어에 동일한 명령어가 둘 이상 포함될 수 있으므로 연산 관계에 이은 쓰기 단계에서 여러개의 명령어가 동일한 레지스터 파일의 주소에 쓰기를 함에 따른 충돌을 피할 수 없다. 본 논문에서는 연산처리 별로 쓰기 단계에서 연산 결과를 레지스터 파일에 쓰도록 허용할 것인지에 대한 정보를 명령어에 포함하는 TiPS 구조와 TiPS 구조에 적합한 목적코드 생성 알고리즘을 제안하였다. 목적코드 생성 알고리즘은 연산처리기별로 연속적으로 실행되는 명령어간의 자료의존관계를 해소하기 위하여 NOP 대신에 다른 연산처리기에서 실행할 명령어를 수행하도록 동일한 명령어를 복사하여 할당할 수 있다. 실험 결과, 명령어 복사 기법은 기존의 기법에 비하여 전체 실행 사이클을 크게 단축시킬 수 있음을 보여주었다.
코드분할 다중통신(Code Division Multiple Access Communication)은 Spread Spectrum 통신의 발전된 형태로서 군사목적상 이동 무선통신(Combat Multiple Communication)을 위해서 최근들어 급속도로 중요시 되고있다. 잘 알려진 바와 같이 두 가지 가장 일반적인 다중통신 방식은 주파수 분할 다중통신방식과 시분할 다중 통신 방식이다. 주파수 분할 다중통신 방식에서는 모든 사용자가 각각 다른 주파수를 사용하여 동시에 신호를 보내고 시분할 다중통신에서는 같은 주파수를 사용하되 시간대를 달리하고 있다. 이 두가지 방식을 결합하여 모든 사용자가 같은 시각과 같은 주파수를 공유하여 통신을 가능케 할 수 있는 방식이 코드분할 다중통신이다. 여기에서 사용자는 각각 고유한 코드를 부여받는다. 이때 각 코드간에는 낮은 상관계수(Cross-correlation )를 가져야 하며, 이러한 성질을 만족하는 코드 집합을 구하기 위한 노력이 경주되었으며 현재까지 2진법 코드 집합으로서 Gold, Kasami, No 코드가 알려져 있으며, 복잡성(Complexity)을 증가시키기 위한 노력으로서 (군사목적에 중요) 다진법 코드에 대한 연구가 활발해지고 있으나 공개된 것은 없었다. 최근에 (1990), 다진법 코드로서 Kumar 코드가 발표되었다. 그러나 이러한 코드들은 복잡성(Complexity or Linear Span)을 증가시키지는 못하였다. 본 논문은 복잡성(Complexity)이 증가한 새로운 다진법 코드의 집합을 제안하였다. 각 집합은 $P^{n}$ 개의 코드로 구성되며, 최대 상관계수 값은 $f^{m}$ (p-1)-1 이다. (n=2m)
컴퓨터 프로그램의 표절 또는 복제에 대한 유사도 검출은 구현에 사용된 프로그래밍 언어, 분석 대상 코드의 종류에 따라 각기 다른 감정 방법과 도구가 필요하다. 최근 들어 증가하고 있는 내장형 시스템의 목적 코드에 대한 유사도 감정은 원시 코드와 비교해 더욱 복잡한 과정 및 고도의 기술과 함께 상당한 자원을 요구하고 있다. 본 연구에서는 목적 코드를 대상으로 역 어셈블리 기법의 적용과 같은 역공학 방법을 이용하여, 목적 코드의 어셈블리어 변환을 통한 어셈블리어 레벨에서의 함수 단위 유사도 감정 방법에 관하여 연구하였다. 그리고, 어셈블리어 레벨에서의 유사도 비교를 위해 코드의 구문분석을 통한 명령어 및 오퍼랜드 테이블을 생성하고, 이를 대상으로 유사도를 검출할 수 있는 도구의 설계에 관하여 기술하였다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.