Network & Protocol & Infra
IPsec
IPsec
2016.09.17IPsec (wiki)IPsec 자체는 end-to-end security scheme이다.따라서 tunnel mode, transport mode 둘 다 end-to-end를 제공할 수 있지만 tunnel의 경우 host-to-host, network-to-network 등 gateway가 어디에 있느냐에 따라 end-to-end가 아닐 수 있다. ESPEncapsulating Security Payload formatOffsetsOctet160123Octet16Bit1001234567891011121314151617181920212223242526272829303100Security Parameters Index (SPI)432Sequence Number864Payload data………… …… Pad..
Wireless ( IEEE 802.11 )
Wireless ( IEEE 802.11 )
2016.09.10WEP, WPA, WPA2-TKIP 까지는 크랙 가능.WPA2-AES의 경우 dictionary attack이나 brute force를 사용해야 한다. WEP정적키를 사용하는 RC4기반 스트림 암호화. IV는 24bit, 키는 40bit | 104bit이다.단순히 키 앞에 IV를 붙이는 방식으로 64bit | 128bit Seed를 만든 후 이를 RC4에 집어넣고 keystream을 생성한다. keystream과 평문을 XOR해서 암호문을 만든다.ICV는 4byte CRC-32.IV/KeyID는 IV가 3byte, KeyID가 1byte로 총 4byte.IV가 그대로 노출되며, 24bit IV는 birthday attack에 따르면 n = 5000이면 p > 0.5이다.RC4 WPA & WPA2WPA 표..
Firewall Architectures
Firewall Architectures
2016.09.08Bastion Hostdef ) A bastion host is a system identified by the firewall administrator as a crtitical strong point in the network's security. Bastion Host는 이름처럼 어그로가 집중되는 곳으로 다른 서비스에 대한 위협을 감소시키는 목적으로 운용되는 system이다.여기저기서 중구난방으로 정의해놓았는데, 상기한 내용이 제일 일반적인 정의다. ( Marcus J. Ranum )아래 내용은 '보통 이래야 한다'고 적어놓은 내용들이다. 꼭 아래 내용을 모두 만족해야 bastion host인 것은 아니다.해당 컴퓨터에서 보통 proxy같은 single application만 hosting한다.노출..
OpenSSL Heartbleed
OpenSSL Heartbleed
2016.09.07TLS는 확장 프로토콜로 Heartbeat를 사용한다. ( RFC 6520 )Heartbeat는 Client와 Server가 connection이 제대로 유지되고 있는지 확인하기 위해 사용한다. Client는 Heartbeat를 이용하여 임의의 값을 그 길이와 함께 Server에 전송,Server는 받은 임의의 값을 Client에게 돌려보내는 과정으로 이루어진다. 임의의 값과 그 값의 길이 정보가 일치하지 않는다면 응답하지 않는 것이 정상이나, Heartbleed 취약점은 Server가 이것이 일치하는지 검증하지 않고 응답하면서 발생하는 취약점이다.Client가 "Hi!", 30Byte라고 보내면 Server는 "Hi!:?aw^er?435ˇs........awe23.4.rw234", 30Byte와 같이 ..
SSH tunneling
SSH tunneling
2016.08.15```bash$ ssh user_name@remote_host_ip -p port```client와 server가 SSH tunneling으로 연결되어 있는 상태에서 client가 server와 연결된 SSH tunneling 포트를 이용해 최종 호스트로 데이터를 전송하면client는 SSH tunneling으로 연결되어 있는 포트로 들어오는 패킷을 SSL로 encryption 해서 server로 전송하고,server에서는 이를 받아 decryption한 다음 최종 호스트/포트로 전송한다.따라서 tunneling 구간은 client - server이다. 보통 tunneling 기능은 로컬포트포워딩을 사용하며, reverse SSH가 필요할 때 원격포트포워딩을 사용한다. Local port forwardi..
NetBIOS over TCP (NBT)
NetBIOS over TCP (NBT)
2016.08.15NetBIOS는 LAN에서의 자원 입출력을 정의한 API다. 실제 네트워크 상에서는 네트워크 제어 블록(NCB) 형태로 제공되며크게 다음 세 가지 기능을 제공한다.Name service UDP-137Datagram distribution service UDP-138 (connectionless 일 경우)Session service TCP-139 (connection oriented 일 경우) Name serviceNBT의 핵심적인 기능으로, Name query를 이용해 해당 name을 가진 host의 IP를 획득한다.이 query는 (WINS같은) Name server에 보낼 수도, host에 보낼 수도 있다. 아무튼, NetBIOS는 LAN에서 사용하는 프로토콜이다. LAN에서도 결국 상위 Layer에..