13. Outside the Box 컴퓨터공학과 소프트웨어공학 연구실 석사 3학기 유 형 준 (You, hyong jun)

Slides:



Advertisements
Similar presentations
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Korea Virtual Payment 모바일 안전결제 (ISP) 서비스 모델 - iPhone 한국버추얼페이먼트㈜ 기술연구소
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
I. 프로젝트 동기 II. 프로젝트 목표 III. 파일시스템 IV. 암호화 및 복호화 V. 인터페이스 VI. FBR READ/WRITE VII. 프로그램 흐름도 VIII. 미 구현 사항 IX. 프로젝트 기대효과 X. 프로그램 요구사항 및 팀원 역할분담 XI. 시연 XII.
HTTPS Packet Capture Tutorial
컴퓨터 운영체제의 역사 손용범.
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
뇌를 자극하는 Windows Server 2012 R2
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Power Java 제3장 이클립스 사용하기.
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
Windows Server 장. Windows Server 2008 개요.
PHP입문 Izayoi 김조흔.
Load Balancing L4와 L7은 어떻게 동작할까?.
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
무선인터넷 보안기술 컴퓨터공학부 조한별.
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
SSL (Secure Sockets Layers Protocol)
Java 기초 (Java JDK 설치 및 환경설정)
11 장 LAN 기본 개념과 Ethernet LAN
Capstone-Design : IoTeam Introduction Abstract
FTP 프로그램 채계화 박재은 박수민.
컴퓨터과학 전공탐색 배상원.
정보화 사회와 컴퓨터 보안.
NJM Messenger 박상원 박연호.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
FTP 프로그램의 활용 FTP 프로그램의 용도 인터넷 공간에 홈페이지 파일을 업로드할 때 필요
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
Wireless Java Programming
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
시스템 인터페이스 Lab3 Unix 사용법 실습.
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Lesson 2. 기본 데이터형.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
Network 네트워크 이론 및 실습 TCP / IP 4장.
KERBEROS.
자바 5.0 프로그래밍.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
데이터 베이스 DB2 관계형 데이터 모델 권준영.
인천대학교 웹과 인터넷 수업 개요 및 내용 소개.
통신프로토콜 전산정보학부 모바일인터넷과 권 춘 우
SSL, Secure Socket Layer
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
발표자 : 이지연 Programming Systems Lab.
Part 05 TCP/IP 1. 네트워크 2. 포트번호.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
Network Lab. Young-Chul Hwang
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
CHAP 15. 데이터 스토리지.
JAVA 프로그래밍 16장 JNLP.
ARP.
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

13. Outside the Box 컴퓨터공학과 소프트웨어공학 연구실 석사 3학기 유 형 준 (You, hyong jun) Software Engineering Lab. Dept. of Computer Engineering

Contents Introduction Application Design Decompilers and Bytecode Obfuscation Endpoint Security File Security Network Security Summary

Introduction 암호 보안 애플리케이션 개발 정보 보호의 강력한 도구 애플리케이션 프로그램의 일부분 전체 시스템을 조사 취약점 분석 결점 보완

Application Design 애플리케이션 구조 애플리케이션의 클라이언트 플랫폼 독립형 애플리케이션 클라이언트/서버 구조 웹 브라우저의 전망과 기대

Self-Contained(1/3) 의미 네트워크 비 접속 한 장소에 애플리케이션의 모든 로직(logic)을 가짐 Java :애플리케이션이 사용하는 모든 클래스 파일이 하나의 기계상에 존재 네트워크 비 접속 보안 요구사항이 한정적임 데이터 간취 physical control virtual control 데이터 암호화 암호화 키 관리 passphrase : PBE 클래스 smart card

Self-contained(2/3) 네트워크 접속 email 클라이언트, 웹 브라우저 보안 요구사항이 복잡 신용 카드 기밀성 인증 신용 카드 구매자와 판매자간의 상호 인증 구매자의 신용카드 번호에 대한 기밀성

Self-contained(3/3) 인터넷 인증기관(CA) 상 점 사용자 1. 공개키를 등록 7. 인증기관 인증서 요청 4. 인증기관 인증서 요청 2. 인증서 8. 인증기관의 인증서 수신 후 상점 인증서 서명검증 5. 인증기관의 인증서 수신 후 사용자 인증서 서명검증 인터넷 9. 상점의 공개키로 암호화된 사용자의 신용카드 번호와 구매 항목 전송 6. 상점의 개인키로 암호화한 메시지를 인증서와 함께 송부 10. 구매 항목 배달 3.사용자의 개인키로 암호화한 메세지를 인증서와 함께 송부 상 점 사용자

Demonstration Software(1/2) “데모” 소프트웨어 판매자 : 사용자에게 미리 사용하게 함으로써 필요성 부여 구매자 : 경험 후 필요성 여부 판단 후 구매 판매자로부터 애플리케이션의 나머지 부분에 대한 패스워드 수신 크랙 역 공학 과정으로 소스를 역 컴파일함 일부 키 클래스 파일 암호화 스킴 구매자에게 복호화 키 제공 소프트웨어 일련 번호에 기반을 둠 크래킹으로부터 보호 구매자의 복사본 판매 방지 불가

Demonstration Software(2/2) 일부 키 클래스 파일 암호화 스킴 동일한 키(k)로 암호화함 각 소프트웨어마다 다른 복호화 키 요구 각 소프트웨어는 일련 번호를 가지고 있음 rn  un = k k(암호화 키) rn(k를 구하기 위하여 un 과 조합되는 랜덤 값) un(k를 구하기 위하여 rn 과 조합되는 일련 번호와 관련이 있는 부분 키) 암호화 키(k) 노출시 크래킹 프로그램에 의한 공격 가능 1. “demo” 소프트웨어와 랜덤 값 rn 배포 2. 구매 요청 3. un 제공 구매자 판매자

Client/Server(1/2) Client/server 구조 two-tier three-tier 다수의 클라이언트와 단일 서버로 구성 three-tier 클라이언트와 서버 사이에 layer가 있음 transaction layer 또는 business layer 미들웨어 인터넷 통신 프로토콜 : TCP/IP 데이터베이스 액세스 미들웨어 : ODBC 분산기술 : DCOM, CORBA

Client/Server(2/2) 요구사항 인증 기밀성 접근 제어 광범위하고 자유분방하게 분산되어 있는 클라이언트 사칭(pretending) 공격 기밀성 접근 제어 접근 제어에 대한 로직(logic)은 서버상에 설정

Client Applets(1/2) Java 클라이언트/서버 애플리케이션 클라이언트 플랫폼 웹 브라우저 웹 서버로부터 자동적으로 클라이언트로 로드됨 클라이언트 인스톨이 필요 없음 브라우저의 자바 지원 Java 1.1 지원 Sun은 Porting and Tuning Center 설립 브라우저와 자바 버전의 동시성 지원 각 브라우저는 각기 자신의 Java Implementation을 가지고 있음 Virtual machine과 API 버그 또는 모순 엄격한 태스팅 필요

Client Applets(2/2) Sandbox Signed Applets 외부로부터 수신한 애플릿의 네임 스페이스를 브라우저의 작업 공간 내부로만 한정 Signed Applets 크고 무거움

Access Control 애플리케이션의 자원에 대한 접근 제어 할당된 업무나 접근을 원하는 사용자의 역할에 의해 제어 접근 제어 리스트(access control list; ACL) 결정된 정책을 구현 특별한 시스템, 응용 프로그램, 서브 시스템, 또는 시스템 그룹을 책임지는 관리자에 의해 수립 식별과 인가 정보 리스트 JDK java.security.acl 패키지

Decompilers and Bytecode Obfuscation(1/5) 역 컴파일러 클래스 파일  소스 코드 프리웨어 : 모카(Mocha), JAD 상용 프로그램 : WingDis, SourceAgain, Deja Vu JDK : javap Bytecode Obfuscation 역 컴파일과 역 어셈블 과정을 늦춤 컴파일된 자바 클래스 파일로부터 사용되지 않는 코드, 데이터, 그리고 심볼릭 이름 등을 제거함 역 컴파일된 소스 코드 판독하기 어려움 프리웨어 : Hashjava, Jobe 상용 프로그램 : Jshrink

Decompilers and Bytecode Obfuscation(2/5) Mocha 사용 사례 java mocha.Decompiler test.class // test.java Class test { public static void main (String argv[]) { System.out.println(“Hello, World); } // test.mocha import java.io.printStream; class test { public static void main (String argv[]) { System.out.println(“Hello, World); }

Decompilers and Bytecode Obfuscation(3/5) Jshrink 사용 사례 c:\jshrink\jshrink random // random.java class Random { int seed; int generate() seed = seed * 31413852 + 1; return seed; } Random() seed = 1;

Decompilers and Bytecode Obfuscation(4/5) Jshrink 수행 후 역 컴파일 결과 private field seed를 Y 로 변환 protected method generate을 Y로 변환 .class 파일에서 사용되지 않는 attributes 제거 // random.class class Random { int Y; int Y() Y = Y * 31413852 + 1; return Y; } Random() Y = 1;

Decompilers and Bytecode Obfuscation(5/5) 애플리케이션 클래스 파일 암호화 ClassLoader CipherInputStream 암호화 키 관리 애플리케이션과 키를 같이 관리 애플리케이션 실행시마다 키 입력 “보안” 알고리즘보다 강력한 암호 알고리즘 사용

Endpoint Security(1/2) 암호 SafeTalk 애플리케이션 두 부분간 안전한 통신 서비스 제공 클래스 파일에 대한 무결성 javax.crypto.CipherOutputStream 클래스 변경 사용자 몰래 다른 IP 주소로 평문을 송신 Session 클래스 변경 동일한 암호화 키를 선택 바이러스나 악한 ActiveX control에 의한 변경 서버로부터 전송 중 변경 발생

Endpoint Security(2/2) 애플리케이션 외부에 대한 방어 불확실한 파일 전송 프로토콜 사용 금지 바이러스 스캔 불확실한 다운로드 목록 실행 금지 자바 애플릿 : sandbox

File Security 로컬 디스크에 있는 파일 암호 도난, 변경 등 바이러스, 트로이 목마 중요한 파일 키 관리 제거할 수 없는 디스크 스마트 카드 passphrase

Serialization & Deleting Files object serialization 기술 JDK 1.1 java object 비 보안 중용한 데이터 암호화 object serialization과 encrypted data stream의 조합 object serialization : ObjectOutputStream encrypted data stream : CipherOutputStream javax.crypto.SealedObject 사용 Deleting Files 많은 운영체제는 디스크로부터 사실상 정보를 지우지 않음

Virtual Memory & Memory Scanning 가상 메모리 부가적인 컴퓨터 메모리로서 디스크 사용 기술의 일부 더 많은 애플리케이션의 동시 수행 가능 애플리케이션 실행 동안 메모리 공간이 디스크에 기록됨 메모리 스캔 공격 프로그램 바이러스, 트로이 목마 가상 메모리 swap file을 탐색 개인키, 평문, 그 외 유용한 정보 가상 메모리 사용 금지 애플리케이션 메모리 공간을 분리한 운영 시스템 사용

Network Security TCP/IP 프로토콜 IP : 비 보안 프로토콜로서 IP 상위 계층에서 암호 사용 응용 계층의 애플리케이션에서 암호 사용 SafeTalk, CipherMail IPng(IP next generation) : 인증과 프라이버시 서비스 제공 TELNET FTP SMTP TCP SNMP UDP IP X.25, IEEE 802.X, .. 응용 계층 트랜스포트 계층 네트워크 계층 링크 계층

Summary 보안성 비용 위험 조화 가용성 보안성 비용 또는 시간