Binance Square

ccdcoe

Просмотров: 12
2 обсуждают
TheEndofrussia2026 -USDT
·
--
#7ГЕРА #НИС2 #ЕНИСА #7GERA #ENISA #NIS2 #CCDCOE #UkraineRussiaWar : $BTC / $ETH import networkx as nx import matplotlib.pyplot as plt import random # Определите граф архитектуры безопасности def build_security_graph(): G = nx.Graph() # Узлы: Страны/Регионы (ориентируясь на Европу + Украину, без США) nodes = [ 'Украина', 'Польша', 'Германия', 'Франция', 'Великобритания', 'Эстония', 'Румыния', 'Болгария', 'Швеция', 'Финляндия', 'Турция', 'Швейцария' # Нейтрально для данных ] G.add_nodes_from(nodes) # Ребра: Альянсы/Приоритеты (геополитические, экономические, кибернетические, информация) # Веса: Сила (1-10, выше = более сильная связь) edges = [ ('Украина', 'Польша', {'weight': 9, 'type': 'геополитический/экономический'}), ('Украина', 'Германия', {'weight': 8, 'type': 'экономический/кибернетический'}), ('Украина', 'Франция', {'weight': 7, 'type': 'информация/мягкая сила'}), ('Украина', 'Великобритания', {'weight': 8, 'type': 'военный/разведка'}), ('Украина', 'Эстония', {'weight': 6, 'type': 'кибернетический'}), ('Украина', 'Румыния', {'weight': 7, 'type': 'геополитический/черное море'}), ('Польша', 'Германия', {'weight': 9, 'type': 'экономический'}), ('Германия', 'Франция', {'weight': 10, 'type': 'ядро ЕС'}), ('Франция', 'Великобритания', {'weight': 7, 'type': 'пост-Брекзит'}), ('Эстония', 'Швеция', {'weight': 8, 'type': 'скандинавский кибер'}), ('Швеция', 'Финляндия', {'weight': 9, 'type': 'скандинавский'}), ('Румыния', 'Болгария', {'weight': 6, 'type': 'черное море'}), ('Украина', 'Турция', {'weight': 5, 'type': 'военный/дрон'}), ('Швейцария', 'Германия', {'weight': 6, 'type': 'защита данных'}), ('Швейцария', 'Украина', {'weight': 4, 'type': 'нейтральный центр данных'}) ] G.add_edges_from(edges) return G # Симуляция распространения гибридной угрозы (например, кибератака, начинающаяся с внешнего узла) def simulate_threat(G, start_node='Внешняя_Угроза', target='Украина', steps=5): # Добавьте узел внешней угрозы G.add_node(start_node) # Соедините угрозу с уязвимыми ребрами (например, к узлам, обращенным к России) G.add_edge(start_node, 'Украина', {'weight': 1, 'type': 'гибрид'}) G.add_edge(start_node, 'Эстония', {'weight': 1, 'type': 'кибер'}) G.add_edge(start_node, 'Румыния', {'weight': 1, 'type': 'информация'}) # Простое распространение: Случайная прогулка с проверкой устойчивости current = start_node path = [current] resilience_scores = {node: random.uniform(0.7, 1.0) for node in G.nodes()} # Высокая устойчивость в сети 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'] # Устойчивость ослабляет распространение if random.random() > (edge_weight / 10) * resilience_scores[next_node]: print(f"Угроза заблокирована на {next_node} из-за устойчивости.") break current = next_node path.append(current) return path, resilience_scores[target] # Визуализировать график 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("Граф Архитектуры Безопасности Европы-Украины") plt.show() # Или сохранить как изображение: plt.savefig('security_arch.png') # Основное выполнение if __name__ == "__main__": G = build_security_graph() threat_path, ukraine_resilience = simulate_threat(G, steps=10) print(f"Симулированный путь угрозы: {threat_path}") print(f"Оценка устойчивости Украины: {ukraine_resilience:.2f}") visualize_graph(G) # Закомментируйте, если отображение не требуется; вместо этого сохраните изображение

#7ГЕРА #НИС2 #ЕНИСА

#7GERA #ENISA #NIS2 #CCDCOE #UkraineRussiaWar : $BTC / $ETH
import networkx as nx import matplotlib.pyplot as plt import random # Определите граф архитектуры безопасности def build_security_graph(): G = nx.Graph() # Узлы: Страны/Регионы (ориентируясь на Европу + Украину, без США) nodes = [ 'Украина', 'Польша', 'Германия', 'Франция', 'Великобритания', 'Эстония', 'Румыния', 'Болгария', 'Швеция', 'Финляндия', 'Турция', 'Швейцария' # Нейтрально для данных ] G.add_nodes_from(nodes) # Ребра: Альянсы/Приоритеты (геополитические, экономические, кибернетические, информация) # Веса: Сила (1-10, выше = более сильная связь) edges = [ ('Украина', 'Польша', {'weight': 9, 'type': 'геополитический/экономический'}), ('Украина', 'Германия', {'weight': 8, 'type': 'экономический/кибернетический'}), ('Украина', 'Франция', {'weight': 7, 'type': 'информация/мягкая сила'}), ('Украина', 'Великобритания', {'weight': 8, 'type': 'военный/разведка'}), ('Украина', 'Эстония', {'weight': 6, 'type': 'кибернетический'}), ('Украина', 'Румыния', {'weight': 7, 'type': 'геополитический/черное море'}), ('Польша', 'Германия', {'weight': 9, 'type': 'экономический'}), ('Германия', 'Франция', {'weight': 10, 'type': 'ядро ЕС'}), ('Франция', 'Великобритания', {'weight': 7, 'type': 'пост-Брекзит'}), ('Эстония', 'Швеция', {'weight': 8, 'type': 'скандинавский кибер'}), ('Швеция', 'Финляндия', {'weight': 9, 'type': 'скандинавский'}), ('Румыния', 'Болгария', {'weight': 6, 'type': 'черное море'}), ('Украина', 'Турция', {'weight': 5, 'type': 'военный/дрон'}), ('Швейцария', 'Германия', {'weight': 6, 'type': 'защита данных'}), ('Швейцария', 'Украина', {'weight': 4, 'type': 'нейтральный центр данных'}) ] G.add_edges_from(edges) return G # Симуляция распространения гибридной угрозы (например, кибератака, начинающаяся с внешнего узла) def simulate_threat(G, start_node='Внешняя_Угроза', target='Украина', steps=5): # Добавьте узел внешней угрозы G.add_node(start_node) # Соедините угрозу с уязвимыми ребрами (например, к узлам, обращенным к России) G.add_edge(start_node, 'Украина', {'weight': 1, 'type': 'гибрид'}) G.add_edge(start_node, 'Эстония', {'weight': 1, 'type': 'кибер'}) G.add_edge(start_node, 'Румыния', {'weight': 1, 'type': 'информация'}) # Простое распространение: Случайная прогулка с проверкой устойчивости current = start_node path = [current] resilience_scores = {node: random.uniform(0.7, 1.0) for node in G.nodes()} # Высокая устойчивость в сети 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'] # Устойчивость ослабляет распространение if random.random() > (edge_weight / 10) * resilience_scores[next_node]: print(f"Угроза заблокирована на {next_node} из-за устойчивости.") break current = next_node path.append(current) return path, resilience_scores[target] # Визуализировать график 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("Граф Архитектуры Безопасности Европы-Украины") plt.show() # Или сохранить как изображение: plt.savefig('security_arch.png') # Основное выполнение if __name__ == "__main__": G = build_security_graph() threat_path, ukraine_resilience = simulate_threat(G, steps=10) print(f"Симулированный путь угрозы: {threat_path}") print(f"Оценка устойчивости Украины: {ukraine_resilience:.2f}") visualize_graph(G) # Закомментируйте, если отображение не требуется; вместо этого сохраните изображение
Войдите, чтобы посмотреть больше материала
Последние новости криптовалют
⚡️ Участвуйте в последних обсуждениях в криптомире
💬 Общайтесь с любимыми авторами
👍 Изучайте темы, которые вам интересны
Эл. почта/номер телефона