ADVERTISEMENT

Merkel cites 'hard evidence' Russian hackers targeted her

Published May 14, 2020 12:00 am
By Agence France-Presse German Chancellor Angela Merkel voiced frustration Wednesday that Russia was targeting her in hacking attacks, saying she had concrete proof of the "outrageous" spying attempts.  Merkel made her statement at the Bundestag, the German parliament. AFP / John MACDOUGALL Merkel made her statement at the Bundestag, the German parliament. AFP / John MACDOUGALL "I can honestly say that it pains me. Every day I try to build a better relationship with Russia and on the other hand there is such hard evidence that Russian forces are doing this," she told parliament. Calling such cyber attacks "more than uncomfortable," Merkel raised the spectre of sanctions if such rogue activity did not stop. Germany's intelligence service has repeatedly called out attempts by Russian hackers to spy on lawmakers or leading politicians. German media reported that among information copied by hackers in 2015 was data from Merkel's email account. That attack also targeted the Bundestag. Merkel said investigators into the 2015 hacking had identified a specific suspect. "Unfortunately the conclusion I have reached is that this is not new," she said, noting that "cyber-disorientation, the distortion of facts" were all part of "Russia's strategy". "Obviously this doesn't make it easier" to foster a better relationship with Moscow, she said, calling such spying tactics "more than uncomfortable". - Sanctions - Merkel has always stressed the importance of dialogue with Russia, even while making clear her disapproval of Moscow's actions in different arenas -- from annexing Ukraine's Crimea, to cyber meddling in elections and its backing of Bashar al-Assad's government in Syria. The rogue operation that targetted the Bundestag in 2015 involved an aggressive attack called Sofacy or APT 28 that had also struck NATO members and knocked French TV station TV5Monde off air. According to Spiegel magazine, hackers managed to completely copy two of Merkel's email accounts containing correspondence dating between 2012 and 2015. German media have also named the suspect as Dmitry Badin, who is also wanted by the FBI for other cyberattacks, including those targeting the Democrats during the 2016 US presidential election. In a clear warning to Russia that their activities would not go unpunished, Merkel also pointed to last year's killing of a former Chechen commander in a Berlin park. The shock 2019 murder has badly bruised ties between Moscow and Berlin, and German prosecutors have already said they have evidence the killing was carried out on behalf of Russian or Chechen state agents. "It of course disrupts a cooperation of trust and you know that in connection with the murder... we applied sanctions, in this case, expulsions (of Russian diplomats)," said Merkel. "We now have the task of finding the wanted suspect, but of course we always reserve the right to take measures -- also against Russia, to be clear."
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.