Binance Square

ccdcoe

12 penayangan
2 Berdiskusi
TheEndofrussia
--
Lihat asli
#7GERA #NIS2 #ENISA #7GERA #ENISA #NIS2 #CCDCOE #UkraineRussiaWar : $BTC / $ETH import networkx as nx import matplotlib.pyplot as plt import random # Definisikan grafik arsitektur keamanan def build_security_graph(): G = nx.Graph() # Node: Negara/Daerah (fokus pada Eropa + Ukraina, tanpa AS) nodes = [ 'Ukraina', 'Polandia', 'Jerman', 'Perancis', 'Inggris', 'Estonia', 'Rumania', 'Bulgaria', 'Swedia', 'Finlandia', 'Turki', 'Swiss' # Netral untuk data ] G.add_nodes_from(nodes) # Sisi: Aliansi/Prioritas (geopolitik, ekonomi, siber, info) # Bobot: Kekuatan (1-10, lebih tinggi = ikatan yang lebih kuat) edges = [ ('Ukraina', 'Polandia', {'weight': 9, 'type': 'geopolitik/ekonomi'}), ('Ukraina', 'Jerman', {'weight': 8, 'type': 'ekonomi/siber'}), ('Ukraina', 'Perancis', {'weight': 7, 'type': 'info/kekuatan lunak'}), ('Ukraina', 'Inggris', {'weight': 8, 'type': 'militer/informasi'}), ('Ukraina', 'Estonia', {'weight': 6, 'type': 'siber'}), ('Ukraina', 'Rumania', {'weight': 7, 'type': 'geopolitik/laut hitam'}), ('Polandia', 'Jerman', {'weight': 9, 'type': 'ekonomi'}), ('Jerman', 'Perancis', {'weight': 10, 'type': 'inti UE'}), ('Perancis', 'Inggris', {'weight': 7, 'type': 'pasca-Brexit'}), ('Estonia', 'Swedia', {'weight': 8, 'type': 'siber nordik'}), ('Swedia', 'Finlandia', {'weight': 9, 'type': 'nordik'}), ('Rumania', 'Bulgaria', {'weight': 6, 'type': 'laut hitam'}), ('Ukraina', 'Turki', {'weight': 5, 'type': 'militer/drone'}), ('Swiss', 'Jerman', {'weight': 6, 'type': 'perlindungan data'}), ('Swiss', 'Ukraina', {'weight': 4, 'type': 'pusat data netral'}) ] G.add_edges_from(edges) return G # Simulasikan penyebaran ancaman hibrida (misalnya, serangan siber yang dimulai dari node eksternal) def simulate_threat(G, start_node='Ancaman_Eksternal', target='Ukraina', steps=5): # Tambahkan node ancaman eksternal G.add_node(start_node) # Hubungkan ancaman ke sisi yang rentan (misalnya, ke node yang menghadap Rusia) G.add_edge(start_node, 'Ukraina', {'weight': 1, 'type': 'hibrida'}) G.add_edge(start_node, 'Estonia', {'weight': 1, 'type': 'siber'}) G.add_edge(start_node, 'Rumania', {'weight': 1, 'type': 'info'}) # Penyebaran sederhana: Jalan acak dengan pemeriksaan ketahanan current = start_node path = [current] resilience_scores = {node: random.uniform(0.7, 1.0) for node in G.nodes()} # Ketahanan tinggi dalam jaringan for _ in range(steps): neighbors = list(G.neighbors(current)) if not neighbors: break next_node = random.choice(neighbors) edge_weight = G[current][next_node]['weight'] # Ketahanan mengurangi penyebaran if random.random() > (edge_weight / 10) * resilience_scores[next_node]: print(f"Ancaman diblokir di {next_node} karena ketahanan.") break current = next_node path.append(current) return path, resilience_scores[target] # Visualisasikan grafik def visualize_graph(G): pos = nx.spring_layout(G) edge_labels = nx.get_edge_attributes(G, 'type') nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=500) nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels) plt.title("Grafik Arsitektur Keamanan Eropa-Ukraina") plt.show() # Atau simpan sebagai gambar: plt.savefig('security_arch.png') # Eksekusi utama if __name__ == "__main__": G = build_security_graph() threat_path, ukraine_resilience = simulate_threat(G, steps=10) print(f"Jalur Ancaman Simulasi: {threat_path}") print(f"Skor Ketahanan Ukraina: {ukraine_resilience:.2f}") visualize_graph(G) # Komentari jika tidak ada tampilan; simpan sebagai gambar

#7GERA #NIS2 #ENISA

#7GERA #ENISA #NIS2 #CCDCOE #UkraineRussiaWar : $BTC / $ETH
import networkx as nx import matplotlib.pyplot as plt import random # Definisikan grafik arsitektur keamanan def build_security_graph(): G = nx.Graph() # Node: Negara/Daerah (fokus pada Eropa + Ukraina, tanpa AS) nodes = [ 'Ukraina', 'Polandia', 'Jerman', 'Perancis', 'Inggris', 'Estonia', 'Rumania', 'Bulgaria', 'Swedia', 'Finlandia', 'Turki', 'Swiss' # Netral untuk data ] G.add_nodes_from(nodes) # Sisi: Aliansi/Prioritas (geopolitik, ekonomi, siber, info) # Bobot: Kekuatan (1-10, lebih tinggi = ikatan yang lebih kuat) edges = [ ('Ukraina', 'Polandia', {'weight': 9, 'type': 'geopolitik/ekonomi'}), ('Ukraina', 'Jerman', {'weight': 8, 'type': 'ekonomi/siber'}), ('Ukraina', 'Perancis', {'weight': 7, 'type': 'info/kekuatan lunak'}), ('Ukraina', 'Inggris', {'weight': 8, 'type': 'militer/informasi'}), ('Ukraina', 'Estonia', {'weight': 6, 'type': 'siber'}), ('Ukraina', 'Rumania', {'weight': 7, 'type': 'geopolitik/laut hitam'}), ('Polandia', 'Jerman', {'weight': 9, 'type': 'ekonomi'}), ('Jerman', 'Perancis', {'weight': 10, 'type': 'inti UE'}), ('Perancis', 'Inggris', {'weight': 7, 'type': 'pasca-Brexit'}), ('Estonia', 'Swedia', {'weight': 8, 'type': 'siber nordik'}), ('Swedia', 'Finlandia', {'weight': 9, 'type': 'nordik'}), ('Rumania', 'Bulgaria', {'weight': 6, 'type': 'laut hitam'}), ('Ukraina', 'Turki', {'weight': 5, 'type': 'militer/drone'}), ('Swiss', 'Jerman', {'weight': 6, 'type': 'perlindungan data'}), ('Swiss', 'Ukraina', {'weight': 4, 'type': 'pusat data netral'}) ] G.add_edges_from(edges) return G # Simulasikan penyebaran ancaman hibrida (misalnya, serangan siber yang dimulai dari node eksternal) def simulate_threat(G, start_node='Ancaman_Eksternal', target='Ukraina', steps=5): # Tambahkan node ancaman eksternal G.add_node(start_node) # Hubungkan ancaman ke sisi yang rentan (misalnya, ke node yang menghadap Rusia) G.add_edge(start_node, 'Ukraina', {'weight': 1, 'type': 'hibrida'}) G.add_edge(start_node, 'Estonia', {'weight': 1, 'type': 'siber'}) G.add_edge(start_node, 'Rumania', {'weight': 1, 'type': 'info'}) # Penyebaran sederhana: Jalan acak dengan pemeriksaan ketahanan current = start_node path = [current] resilience_scores = {node: random.uniform(0.7, 1.0) for node in G.nodes()} # Ketahanan tinggi dalam jaringan for _ in range(steps): neighbors = list(G.neighbors(current)) if not neighbors: break next_node = random.choice(neighbors) edge_weight = G[current][next_node]['weight'] # Ketahanan mengurangi penyebaran if random.random() > (edge_weight / 10) * resilience_scores[next_node]: print(f"Ancaman diblokir di {next_node} karena ketahanan.") break current = next_node path.append(current) return path, resilience_scores[target] # Visualisasikan grafik def visualize_graph(G): pos = nx.spring_layout(G) edge_labels = nx.get_edge_attributes(G, 'type') nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=500) nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels) plt.title("Grafik Arsitektur Keamanan Eropa-Ukraina") plt.show() # Atau simpan sebagai gambar: plt.savefig('security_arch.png') # Eksekusi utama if __name__ == "__main__": G = build_security_graph() threat_path, ukraine_resilience = simulate_threat(G, steps=10) print(f"Jalur Ancaman Simulasi: {threat_path}") print(f"Skor Ketahanan Ukraina: {ukraine_resilience:.2f}") visualize_graph(G) # Komentari jika tidak ada tampilan; simpan sebagai gambar
Masuk untuk menjelajahi konten lainnya
Jelajahi berita kripto terbaru
⚡️ Ikuti diskusi terbaru di kripto
💬 Berinteraksilah dengan kreator favorit Anda
👍 Nikmati konten yang menarik minat Anda
Email/Nomor Ponsel