Who am I?

About Me

Taner GüngörI’m a Senior Software Engineer with a strong focus on software architecture, designing secure and scalable systems across automotive, embedded, banking and energy domains.

I studied Computer Engineering at Izmir University of Economics on a scholarship, working in parallel as a freelance web developer for Netsis for three years. After graduating, I joined Accenture, where I spent almost 1.5 years developing a correspondent banking application for İşbank, one of Turkey’s largest banks.

Wanting to work on harder problems in AI, machine vision and robotics, I earned an Erasmus Mundus scholarship for the master’s programme in Vision and Robotics at the University of Burgundy, the University of Girona and Heriot-Watt University.

I then moved into automotive. At ADASENS Automotive, a FICOSA subsidiary, I designed and implemented an online calibration algorithm for rear-view camera systems, granted as a patent in Europe, the US, Japan and China, and used in the 2019 Audi e-tron. At APTIV I designed and developed behaviour estimation and trajectory planning software for the Level 3 Highway Pilot system of the 2021 BMW iX.

As team lead at Dekimo, I led an embedded software team, standardised our development processes and mentored engineers, while consulting on Rambus‘ Root of Trust RT-130 with a focus on code safety, security and reliability.

Today at Volue, a technology leader in the green energy transition, I lead technical discussions, design secure client-server communication (TLS on RMI with a custom CA chain), integrate APIs, and document architectures for scalable, maintainable systems.

Languages: C, C++, Python, Java, SQL
Computer Vision: OpenCV, ROS, TensorFlow
Embedded & Safety: MISRA C/C++, Coverity, ARM Cortex-M, Automotive SPICE
Cloud & IoT: AWS, Google Cloud, Docker, Raspberry Pi, Arduino
AI-Assisted Development: Claude, GitHub Copilot, ChatGPT, MCP
Tools & Practices: Git, Jenkins, Enterprise Architect (UML), GoogleTest, CI/CD, TDD, Agile/Scrum

Industries: Automotive, Energy, Semiconductor, Banking & Finance, Automation

Thoughts, guides and lessons learned

Blog

Articles on automotive software, computer vision, software architecture, security, hacking and AI, written from hands-on industry experience.

White home router with antennas and a network cable plugged in

Mozi: The Botnet That Signed Its Own Death Warrant

Part 4 ended with a botnet that had no defences at all. Mirai trusted anyone with a factory password, talked to a handful of command servers, and lost every device on reboot. Its successors learned from that.

Mozi, first spotted in September 2019, combined Mirai’s targets with the defences of the earlier parts of this series. It infected routers and video recorders, but organised them into a peer-to-peer network built on the BitTorrent distributed hash table, the same system millions of file-sharing clients use. Every configuration it accepted had to carry a valid ECDSA signature. At its peak it was seen on about 160,000 devices a day, and IBM attributed 90% of the IoT network traffic it observed between October 2019 and June 2020 to it.

White Wi-Fi surveillance camera with antennas mounted on a wall

Mirai: The Botnet That Needed No Exploit

The first three parts of this series were about Windows botnets and the arms race around them. Coreflood was taken over because it did not sign its commands. Conficker signed everything and hid behind 50,000 domains a day. GameOver Zeus added a peer-to-peer network and still fell when defenders changed whom its bots trusted.

Mirai skipped that arms race entirely. It used no exploit, no domain generation algorithm and no peer-to-peer network. It scanned the Internet for cameras, video recorders and routers with Telnet open, and logged in with the passwords their manufacturers had shipped them with. On 1 August 2016 it started; within 20 hours it had about 64,500 devices. By late November it peaked at about 600,000.

Rows of opened steel safe deposit boxes in a bank vault

GameOver Zeus: How Defenders Broke a Peer-to-Peer Botnet

Part 2 of this series ended with a stalemate. Conficker signed its updates, generated thousands of domains a day and kept a peer-to-peer fallback. Defenders could keep its authors out, but they could never take the botnet over.

GameOver Zeus had the same three defences, and it was run by people who used it every day to steal money. From September 2011 to May 2014 it was one of the most profitable criminal botnets in the world: the FBI put the losses at more than $100 million. Yet on 30 May 2014 an international operation, later known as Operation Tovar, took control of its peer-to-peer network within hours. Its operator tried to win it back and gave up after about five.

Close-up of a glowing blue and black digital globe

Conficker: The Botnet Nobody Could Hijack

In Part 1 of this series, Coreflood lost its botnet because its bots obeyed whoever answered at the controller’s address. The FBI redirected 29 domains, and the bots took orders from a court-appointed server.

Conficker, which appeared in November 2008, made none of those mistakes. Its updates were signed with an RSA key that only its authors held. Its rendezvous domains changed every day, and one variant generated 50,000 of them daily across more than 100 top-level domains. Later versions also talked to each other directly, peer to peer. Nobody could send Conficker a stop command.

Fiber optic cables connected to a network switch in a server rack

Coreflood Under the Hood: The Botnet That Forgot to Lock Its Front Door

In my post on active defense versus hacking back, Coreflood got one paragraph. In April 2011 the US Justice Department took over the botnet’s command servers and told the infected computers to stop. That paragraph is accurate, but it skips the part I find most interesting as an engineer.

The takeover was possible because of design decisions the authors made years earlier. Coreflood trusted whatever server answered at its addresses, and it obeyed commands without checking who sent them. In other words, it forgot to lock its front door.