0x01 끄적끄적 :)

    리틀엔디안(Little-endian) 빅엔디안(Big-endian)

    리틀엔디안(Little-endian) 빅엔디안(Big-endian)

    분석하는 과정에서 꼭 알고 넘어가야 하는 부분이 바이트오더(Byte-order)이다. 우리가 사용 하는 컴퓨터에는 cpu라는 두뇌역할을 하는 하드웨어가 있는데, cpu의 제조사에 따라서 바이트 오더가 다르다. 크게 바이트 오더는 2가지로 나누어 진다. 리틀엔디안(Little-endian), 빅엔디안(Big-endian) 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다. - 출처 : 위키백과 - 리틀엔디안(Little_endian) vs 빅엔디안(Big-endian)주로 인텔(intel) 프로세스 계열에서 사용되는 바이트오더이다. 리틀엔디안은 데이터를 메모리에 적재..

    macOS에서 앱을 실행했을 때 "손상되었기 때문에 열 수 없습니다." 오류 메시지가 뜨는 문제와 해결 방법

    macOS에서 앱을 실행했을 때 "손상되었기 때문에 열 수 없습니다." 오류 메시지가 뜨는 문제와 해결 방법

    며칠 전 한 구독자로부터 블로그에서 내려받은 파일이 작동하지 않는다는 메일을 받았습니다. 마우스 오른쪽 버튼으로 파일이나 텍스트 등을 클릭했을 때 표시되는 컨텍스트 메뉴의 서비스 항목 개수를 조절하는 앱인데 (링크), macOS 시에라에서 실행하면 다음과 같은 메시지만 뜬다는 것이었습니다. "xxx은(는) 손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다." 제 맥에서도 같은 현상이 나타나 인터넷을 검색하니 비슷한 질문과 게시물을 많이 발견할 수 있었습니다.원인은 크게 두 가지로 압축할 수 있는데 하나는 앱이 실제로 손상된 것이고, 다른 하나는 맥 운영체제의 보안 기능인 '게이트키퍼(Gatekeeper)'를 통과하지 못해서 발생하는 문제입니다.첫 번째 케이스는 다운로드 도중 오류..

    Java 웹프로그래밍 Servlet & JSP 개발환경구축

    Java 웹프로그래밍 Servlet & JSP 개발환경구축

    Java Servlet & JSP을 개발하기 위한 개발 환경 구축방법을 소개하고자 합니다. JDK 설치하기JDK(Java Development Kit)는 자바 소스를 컴파일하고 실행하기 위한 도구입니다. 설치링크 : http://www.oracle.com/technetwork/java/javase/downloads/index.html 라이센스 동의를 체크하고 개발 OS환경에 맞춰 다운을 받습니다. JDK를 설치합니다. (단순한 설치과정 생략...) 설치가 완료되면 환경변수 추가 작업을 해줍니다. 시스템 변수 부분에 환경변수이름을 "JAVA_HOME"으로 지정하고, JDK가 설치된 경로를 입력하여 추가해 줍니다. 그리고 시스템 영역에 기존에 있는 Path변수를 편집하여 맨 마지막 부분에 "%JAVA_HOM..

    Slow HTTP POST DOS(RUDY Attack)

    Slow HTTP POST DOS(RUDY Attack)

    Slow HTTP POST DOS(RUDY Attack) 비정상 트래픽을 보면 HTTP헤더의 Content-Length가 100000000Byte로 설정되어 있는데 실제 전송되는 데이터는 일정한 간격으로 1Byte씩 전송함을 알 수 있다. R-U-Dead-Yet (Are You dead yet?)Slow HTTP POST DOS(RUDY) 공격은 HTTP POST메소드를 이용하여 서버로 전달할 대량의 데이터를 장시간에 걸쳐 분할 정송하며, 서버는 POST데이터를 모두 수신하지 않았다고 판단하여 연결을 장시간 유지하므로 가용량을 소비하게 되어 다른 클라이언트의 정상적인 서비스를 방해하는 서비스 거부 공격이다. 클라이언트(웹 브라우저)는 HTTP요청을 통해 데이터를 웹서버로 전달하고자 할 때 POST방식(메..

    HTTP GET Flooding with Cache-Control(CC Attack)

    HTTP GET Flooding with Cache-Control(CC Attack)

    HTTP GET Flooding with Cache-Control(CC Attack) HTTP GET Flooding with Cache-Control(CC Attack)공격은 웹서버의 부하를 감소시키기 위해 캐싱 서버를 운영하여 많이 요청받는 데이터는 웹서버가 아닌 캐싱 서버를 통해 응답하도록 구축하는 경우 공격자는 HTTP 캐시 옵션(Cache-Control)을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도하여 웹서버의 자원을 소진시키는 서비스 거부 공격이다. 트래픽을 살펴보면 HTTP헤더의 Cache-Control값이 no-store, must-revalidate로 설정되어 있음을 알 수 있다. no-store(캐시저장금지) : 클라이언트로부터 요청받은 데이터를 디스크나 메모리, 별도의 ..

    [APPLE]macOS 10.12.4, 인터넷 복구시 최신 버전을 바로 설치할 수 있는 옵션 제공

    [APPLE]macOS 10.12.4, 인터넷 복구시 최신 버전을 바로 설치할 수 있는 옵션 제공

    macOS에는 인터넷 복구라는 기능이 있습니다. macOS를 재설치해야 할 때, 설치 파일을 맥 앱 스토어에서 내려받도록 한 OS X 라이언부터 도입된 기능인데요. 만약에 로컬에 macOS의 설치 미디어가 없다면, 재부팅할 때 command-option-R을 치면 인터넷에 연결해 macOS의 설치 파일을 애플 서버에서 내려받아서 그 파일을 이용해 macOS의 재설치를 진행할 수 있습니다. 이 기능의 유일한 문제라면, 무조건 해당 맥이 출하됐을 당시에 탑재된 버전을 내려받는다는 점인데요, 예를 들면 제 아이맥은 2015년 후기형 모델이었기 때문에 당시 최신 버전이었던 엘 캐피탄(10.11.1)을 내려받았습니다. 최신 버전인 시에라로 올리려면 일단 엘 캐피탄으로 재설치를 끝마친 다음, 앱 스토어를 통해 시에..

    [Anti-DOS]SYN Cookie

    [Anti-DOS]SYN Cookie

    SYN Cookie Syn cookie란 ? TCP 3-way-handShake TCP로 세션이 생성 되려면 아래와 같은 기본적인 3-way-handshake를 거친다. SYN Flooding 공격SYN Flooding 공격은 3-way-handshake의 취약점을 이용한 공격으로 공격대상 시스템의 TCP연결 자원(backlog queue)을 소진시켜 외부로부터 TCP 연결 요청을 받을 수 없는 상태로 만드는 서비스 거부 공격기법 이다. 경우는 아래와 같다.공격자가 SYN 패킷을 보내면 서버는 SYN/ACK 패킷을 보내고 SYN패킷에 대한 세션을 생성하고 응답을 기다린다. 따라서 공격자가 수많은 SYN패킷으를 보내면 수만은 세션을 생성하고 기다리게되고, 정상적인 사용자가 서버와 세션을 맺으려고 하면 이미..

    ARP(Address Resolution Protocol)

    ARP(Address Resolution Protocol)

    ARP (Address Resolution Protocol) 정의 논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜이다. ARP는 Layer 2계층 이더넷 환경에서 목적지 IP주소에 대한 MAC주소 변환 동작을 담당한다. 단 목적지 MAC주소 정보가 없다면, ARP주소 변환이 불가능하기 때문에 데이터를 전송할 수 없다. 쉽게 말해 IP -> MAC, MAC -> IP 이렇게 바꿔주는 역할을 한다는 뜻이다. 상대방은 MAC 주소가 없는 패킷을 받으면 2계층 (Datalink-Layer)에서 폐기해버린다. 때문에 상대방의 MAC주소를 알아야 프레임이 만들어져서 통신을 할 수 있게 된다. ※ IP -> MAC으로 변환 할 때를 ARP라고 하고, MAC -> I..