Security in CPS
-
[onos] build error: The goal you specified requires a project to execute but there is no POM in this directorySecurity in CPS/Networking 2020. 8. 21. 12:23
ONOS 위키페이즈를 따라 빌드하려다 보니 아래와 같이 pom.xml 파일을 찾을 수 없다는 에러를 만나게 되는데요. POM은 Project Object Model 의 약자로 xml 파일은 maven을 이용해 빌드시에 dependencies, source directory, test source directories 등 빌드에 필요한 Configuration 정보를 포함하는 파일입니다. onos 를 clone하면 tools/build 디렉토리에 pom.xml 파일이 있는데 이를 $ONOS_ROOT 에 link 파일을 생성해 에러를 해결하였습니다. $> mvn clean build [INFO] Scanning for projects... [INFO] -------------------------------..
-
[onos] git for developerSecurity in CPS/Networking 2020. 8. 17. 11:41
https://github.com/opennetworkinglab/onos ssh onos@localhost -p 8101 opennetworkinglab/onos Open Network Operating System. Contribute to opennetworkinglab/onos development by creating an account on GitHub. github.com Docker https://blog.zufardhiyaulhaq.com/install-onos-in-docker/ Install ONOS in Docker - Zufar Dhiyaulhaq If you find it to difficult to install ONOS as a Service, Installing ONOS i..
-
[ONOS] Flow Setup RateSecurity in CPS/Networking 2020. 8. 11. 12:06
ONOS 공식 홈페이지에 따르면 SDN 스위치로 부터 SDN Controller 로 유입되는 패킷의 수가 4000 p/s 가 넘을 경우 Packet_OUT의 Latency 가 급격히 증가하고, Packet_In rate 이 100000 p/s 가 넘는 경우에는 Packet loss 가 발생한다고 나와있네요. 참고: wiki.onosproject.org/pages/viewpage.action?pageId=11864711 Test 6:Packet Out Rate Performance - ONOS - Wiki Description Packet_out is one of the most important content of SDN controller. It is the most frequent message be..
-
[HPE] Aruba 2920 OFPFMFC_EPERM errorSecurity in CPS/Networking 2020. 8. 10. 12:39
SDN 네트워크를 구성하고 있는 HPE Aruba 2920 스위치 에 OFPFlowMod 를 이용해 Flow rule 을 추가하려다 보면 OFPFMFC_EPERM 에러를 만나게 되는 경우가 있다. 이는 룰 추가시 table_id 가 default 값인 0으로 설정이 되는데 이는 Table_id 0인 테이블이 0으로 설정이 되어 발생하는 문제이다. Table_id 를 100 이나 200으로 설명하면 해당 문제를 해결할 수 있고 설정값 변경을 통해서도 0번 테이블에 룰을 추가할 수도 있습니다. (단. 스위치 옵션에 따라 Read only 인 경우와 아닌 경우를 확인하였으나 실제로 어떻게 변경하는지는 찾아보진 못했습니다.) community.hpe.com/t5/software-defined-networking..
-
[ryu] HPE arura 2920 using openflow 1.3Security in CPS/Networking 2020. 8. 6. 16:22
Openflow 1.2+ 에서는 OFPSwitchFeatures에서 명시적으로 table-miss에 대한 룰을 지정해줘야만 합니다. {"actions": ["OUTPUT":"CONTROLLER"]} 의 default rule 이 없다면 SDN switch로 들어오는 모든 패킷은 drop 이 됩니다. 따라서 ryu 에 포함된 샘플코드를 보면 priority = 0 인 default flow rule 로 OFPP_CONTROLLE로 패킹을 포워딩하도록 하고 있습니다. 하지만 제 실험의 경우엔 단순히 CONTROLLER 로 포워딩하는 룰만으로는 table-miss 에 대한 패킷을 처리할 수가 없었습니다. Default 인 0 번 Table에서 매칭되는 flow rule이 없었기 때문에 모든 패킷이 drop 이..
-
TCP checksum errorSecurity in CPS/Networking 2020. 8. 6. 16:03
tcpdump를 이용해 http 패킷 정보를 보던 중 checksum error 가 발생하였습니다. 물론 네트워크의 근본 원인을 파악한 후 해결을 했지만, 일시 방편으로 문제를 해결하고자 ethool을 사용해 옵션을 변경해 보았습니다. 기본적으로 tx/rx 체크섬 체크는 enable 되어 있으며 아래처럼 ethtool을 사용해 해당 설정을 읽어오거나 일시적으로 rx-checksumming, tx-checksumming 을 off 시킬 수 있습니다. 다만 데이터 링크단에서의 HW 시그널 이슈로 인해 패킷 정보가 바뀐 경우가 아닌 악의적으로 패킷의 헤더 정보가 바뀐 경우가 있으니 임의적으로 해당 옵션은 disable 하는 것은 추천하지 않으며, 일시적인 문제가 아니라 지속적으로 발생한다면 근본 원인을 찾아 ..
-
Ryu_manager Openflow1.0 -> Openflow1.3 변경Security in CPS/Networking 2020. 8. 4. 23:28
SDN Controller 로 Ryu_manager 를 사용중인데 최근 여러가지 이슈들로 인해 Openflow1.3으로 변경하여 실험을 진행해 보았다. Openflow1.0에선 Version negotiation 이후 스위치에 매칭되는 flow rule이 존재하지 않을 경우 자동으로 Controller 로 패킷을 포워딩하는 기능이 내재되어 있었다. 하지만 Openflow1.3에서는 이를 명시적으로 rule 을 추가해야만 컨트롤러에서 스위치로 부터 패킷을 전달받을 수 있다. 이는 Simple_switch_13.py에 이미 포함되어 있으나 Openflow1.0만을 사용하던 나로써는 당황스러울 수밖에 없었다. 다음은 Simple_switch_13.py에서 해당하는 코드 snippet이다. @set_ev_cls..