IPv4 vs IPv6 등장배경 •현재 사용중인 인터넷 프로토콜인 IPv4(Internet Protocol Version 4)는 광범위한 네트워크의 사용을 예측하지 못하던 시대에 등장 •IPv4 – 이론 상 42억여개의 인터넷 주소 지원 –But, 부족하다. 비교 IPv4 IPv6 주소 체계 32bit 128bit 주소 개수 2^32(약 42억 개) 2^128(약 3.4x10^38 개) 패킷 헤더 가변적 고정적(40 옥텟) 주소 할당 방법 A, B, C, D(멀티캐스트) 클래스 CIDR CIDR 기반 계층적 할당 주소 유형 유니캐스트(unicast) 멀티캐스트(multicast) 브로드캐스트(broadcast) 유니캐스트(link-local address, site-local address, global..
Request Smuggling 불특정 다수의 사용자로부터 받은 HTTP 요청을 프록시와 웹서버가 처리하는 과정에서 사용자가 요청한 HTTP 패킷을 조작할 수 있는 공격이다. 웹서버는 클라이언트의 요청을 직접 처리하는 것이 아니라 메인서버의 과부하를 방지하기 위해 LB나 리버시 프록시 등 중간에서 요청을 처리하여 전달한다. 이 과정에서 HTTP/1.1에서는 여러개의 요청을 연속적으로 전달할 수 있도록 지원하는데 패킷을 받아 처리하는 과정에서 Content-Length, Transfer-Encoding 에 대한 처리를 서로 다르게 하여 패킷의 시작과 끝부분을 다르게 해석하는 문제가 발생한다. CL.CL 여러 Content-Length 헤더가 존재하거나 유효하지 않은 값일 경우 400 상태 코드로 응답해야한..
1. 서론 산술 부호화(Arithmetic Coding)에 대해 설명하고 예제 메시지를 부호, 복호화 방법에 대해 설명한다. 2. 사전 연구 2.1 압축 알고리즘 데이터 압축은 데이터를 더 적은 공간에 효율적으로 전송, 저장하기 위한 기술이다. 데이터를 더 작은 크기로 변환시키는 인코딩과 저장된 데이터를 다시 원래의 형태로 복원시키는 디코딩 과정으로 이루어진다. 디코딩한 데이터의 세부 사항 일부를 잃는 손실 알고리즘과 모두 보존하는 무손실 알고리즘이 있다. 무손실 압축 알고리즘에는 반복 길이 부호화와 허프만 부호화, 산술 부호화 등이 있다. 손실 압축 알고리즘은 인간의 느끼지 못하는 정도의 음성, 화상의 변화를 역이용하여 압축률을 높인다[1]. 2.2 허프만 부호(Huffman Code) 허프만 부호는 ..
안드로이드 설치 파일(APK) 역공학 환경 구성 gomguk.tistory.com/16에서 작성한 앱을 역공학으로 분석해보고 동시에 apk 구조에 대한 학습 다운로드 및 설치 APK Tool(apk → smali) https://ibotpeaches.github.io/Apktool/ java 1.8 버전 이상 필요 java -version apktool -v 설치확인 Dex2Jar(dex → jar) https://sourceforge.net/projects/dex2jar/ brew로도 설치 가능 brew install dex2jar 디컴파일 d2j-dex2jar [apk파일명] JD-GUI (jar → java) http://jd.benow.ca/ 위 방법으로 분석이 안될 때 바이트 코드 뷰어나 Jad..
gomguk.tistory.com/15 에서 작성한 앱에서 기능을 추가한다. 목적 : URI-3 에서 만든 앱에서 JavaScript Interface 등록한 함수를 html에서 호출하도록 변경한다. 패키지 변경 기존에 사용한 flutter 내장 Webview는 JS를 안정적으로 지원하지 않는다고 한다. 그래서 공식 패키지 중 "flutter_inappwebview" https://pub.dev/documentation/flutter_inappwebview/latest/index.html 를 이용한다. 설치 pubspec.yml 에서 flutter_inappwebview: 4.0.0 import 'package:flutter_inappwebview/flutter_inappwebview.dart'; And..
2020/11/18 - [Report/Project] - [Ban Logic, AVISPA] IoV환경에서의 사용자 인증 프로토콜정형화 분석 1 이 포스트는 이전 포스트에서 이어지는 글입니다. 5. 정형화검증 결과 (1) 재전송 공격 재전송 공격 가능 여부를 확인하기 위해서 인증 메시지의 freshness를 확인해야한다. WSN프로토콜은 재전송 공격에 취약하다. 이를 보완하기 위해서는 (H1)을 만족해야하므로 SNj는 의사난수 생성기가 아닌 타임스탬프를 사용해야 한다. 타임스탬프를 공유하기 전에 SNj와 VSk는 사전에 시간 동기화가 반드시 필요하다. VSk는 인증 메시지의 타임 스탬프를 검증하기 때문에 메시지가 도청되어 재전송되더라도 공격 여부를 알 수 있다. 위와 같이 메시지를 추가할 경우 재전송 공..
Summary IoV(Internet of Vehicle) 기술이 등장함에 따라 WSN(Wireless Sensor Networks)기술이 함께 등장하였다. 인터넷의 발전은 운전자들의 편안한 운전을 위해 다양한 정보에 접근이 가능하도록 한다. 예를 들어 교통 흐름, 응급 상황, 차량 사고 정보들이 이에 해당한다. 하지만 운전자와 도로 관리자 사이의 통신은 공개된 채널을 사용하기 때문에 다양하고 많은 보안 위협들이 존재한다. 그러므로 안전한 상호 인증과 통신의 암호화가 필수적이다. Sima Arasteh 외 2명의 논문[1]에서는 2017년에 차량을 위한 안전한 WSN 차량 상호인증 보안 프로토콜을 제안하였다. 본 논문은 제안된 WSN 차량 상호인증 보안 프로토콜을 분석하고 안전성을 BAN 논리와 avis..
목적 Universal Link 를 통해 인자를 받는 webview를 사용하는 앱 개발 개발환경 개발언어 : Flutter, Kotlin 타겟 디바이스 : Android Pixel 3a API 29(Android 10.0) Emulator ' + Additional 개발언어 : Flutter, Swift 타겟 디바이스 : iPhone SE2 (iOS 13.7) Emulator 개요 웹뷰만 실행하는 앱 딥링크를 통해 인자를 받는 앱 2의 인자를 받아 1의 웹뷰를 실행하는 앱 1. 웹뷰만 실행하는 앱 flutter_webview: ^0.3.19+9 pubspec.yaml에 추가 dependencies: webview_flutter: ^0.3.19+9 flutter: sdk: flutter # The foll..
1. 머리말 블록체인을 기반으로 한 기술을 조사하여 비교한다. 비트코인, 이더리움, Hyperledger Fabric, Corda, EOS 등의 유형을 분석한다. 위의 블록체인 기술들의 합의 알고리즘, 결제 완료성, 계정관리, 데이터 모델, 스마트 계약개발 등에 대해 특성을 설명한다. 2. 사전연구 2.1 블록체인(Block Chain) 블록체인(Block Chain)은 거래 목록 기록 방식을 투명하고 분산화된 형태로 관리하기 위한 기술로 지난 몇 년 사이 큰 발전을 보이고 있다[1]. 공공거래 장부라고 불리는 블록체인은 거래 발생 시 기존의 중앙집중형 방식이 아닌, 모든 거래 참여자(노드, node)가 거래 관련 데이터를 묶음(블록)으로 분산 및 저장하는 분산형 방식이다[2]. 거래 당사자는 모두 동적..
1. 서론 소프트웨어의 발전과 함께 소프트웨어 유지 보수와 보안은 소프트웨어 엔지니어링의 중요한 연구가 된다. 소프트웨어 역공학은 유지 보수와 보안에서 대체 불가능한 역할을 한다[1]. 소프트웨어 역공학은 소프트웨어의 재사용, 기존 소프트웨어와 호환성 유지, 소프트웨어 보안 취약점 분석 등의 용도로 긍정적으로 허용될 수 있다. 그러나 불법적인 역공학은 경쟁사가 개발한 소프트웨어의 핵심 알고리즘을 드러내어 지적 재산권을 침해하고, 불법복제를 증가시켜 건전한 소프트웨어 개발 생태계를 해칠 수 있다[2]. 2019년 소프트웨어정책연구소에서 발표한 "국가별 SW 불법 복제율" 통계를 보면 2017년의 한국의 불법 PC 소프트웨어 설치율은 32%이다. 한국과 비슷한 경제규모의 스페인, 이탈리아 등과 비교했을 때와..